Title
Information transformation: an underpinning theory for software engineering
Abstract
Software engineering lacks underpinning scientific theories both for the software it produces and the processes by which it does so. We propose that an approach based on information theory can provide such a theory, or rather many theories. We envision that such a benefit will be realised primarily through research based on the quantification of information involved and a mathematical study of the limiting laws that arise. However, we also argue that less formal but more qualitative uses for information theory will be useful. The main argument in support of our vision is based on the fact that both a program and an engineering process to develop such a program are fundamentally processes that transform information. To illustrate our argument we focus on software testing and develop an initial theory in which a test suite is input/output adequate if it achieves the channel capacity of the program as measured by the mutual information between its inputs and its outputs. We outline a number of problems, metrics and concrete strategies for improving software engineering, based on information theoretical analyses. We find it likely that similar analyses and subsequent future research to detail them would be generally fruitful for software engineering.
Year
DOI
Venue
2015
10.1109/ICSE.2015.202
ICSE
Keywords
DocType
Volume
information theory,software engineering,software testing
Conference
2
ISSN
ISBN
Citations 
0270-5257
978-1-4799-1934-5
3
PageRank 
References 
Authors
0.49
17
4
Name
Order
Citations
PageRank
David Clark148827.29
Robert Feldt2965.77
Simon M. Poulding313610.72
Shin Yoo4163062.90