It's widely accepted that software evolves during its lifetime to accommodate the needs of its users as well as to conform to the constraints imposed by its changing operating environment. If we want to study this phenomenon of software evolution, we need to find some way to characterise it – or, better, measure it. There are many ways to measure software evolution, but conventionally software metrics have been employed for this purpose. While this field has a long and venerable heritage, these still present problems to theoreticians and practitioners alike.
Hence, we'll rethink the measurement of software evolution by challenging many of the commonly made assumptions about it and describe a new method, which has mathematical underpinnings and justifications in information theory. Briefly, the method is based on the measurement of similarity (not difference); the pairwise comparison of artefacts representative of software releases (sequential measurement); and the realisation that all artefacts stored on digital computers have binary representations. Having described the method, we will put it to practical use by applying it to examine empirically the evolutions of open source software projects. Choosing the projects udev, git and ArgoUML as case studies, we'll verify the method and validate it against published results obtained by other researchers.
We'll also touch on current work concerning the measurement of multi-language software as well as other (future) applications then close with some rather more philosophical discussion about the nature of measurement and its application to software.
Dr. Tom Arbuckle holds a B.Sc. in chemical physics and a Ph.D. in electronics and electrical engineering (University of Glasgow, Scotland, U.K.). He has been engaged within various research groups in the U.K., Japan, Germany and Ireland and specialises in problem-based multidisciplinary research in cross-sectoral projects. His current research interests include software engineering (particularly software evolution, co-evolution, visualisation, re-engineering and testing) and the application of machine learning techniques to problems of industrial and commercial interest. In addition to supervision of students at Master/Ph.D. level, he is also involved in national/EU funding applications. He is a chartered engineer, chartered physicist, chartered IT professional and chartered scientist and the author of many refereed publications including a US patent.
More about Dr. Arbuckle's research, publications and professional activities can be found at the following websites.
Personal homepage: http://www.csis.ul.ie/staff/TomArbuckle/
LinkedIn(R) Profile: http://www.linkedin.com/in/tomarbuckle
CORDIS Profile: http://cordis.europa.eu/partners/web/tomarbuckle