You are here
David Clark gives a talk on information theory and software testing
Like a telegraphy system, a phone system or a computer network, software can be viewed as a means of information transmission. Different kinds of programs, e.g. interactive, distributed, parallel, batch programs, can have more or less complex models using information theory. Slightly surprisingly, information theory models seem to be able to tell us things about the software testing process. In the context of input/output semantics, test suite adequacy and diversity, test generation efficiency, oracles, and coincidental correctness have all been modelled. In this talk I explain some basic principles of information theory and give examples of some of these models and some experimental results. I conclude by touching briefly on how information theory can model other aspects of software engineering, such as security problems, code metrics and software evolution.