skip to main content
10.1145/1595808.1595831acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Measure software - and its evolution - using information content

Published: 24 August 2009 Publication History

Abstract

To be able to examine software evolution - variation in software over a sequence of releases - or to compare differing versions of software with each other, we need to be able to measure artefacts representative of the software or its creation process. One can find in the literature a multitude of approaches to both measuring software - by defining and applying software metrics - and to examining software evolution in terms of these metrics. In this position paper, we claim that information content, specifically the (relative) Kolmogorov complexity, is the correct and fundamental tool for the measurement of software artefacts. Experimental results obtained from an analysis of the project udev demonstrate utility: future work should explore the breadth of applicability and determine the full scope of the approach.

References

[1]
C. Alexander. Notes on the Synthesis of Form. Harvard U. Press, 1964.
[2]
E. B. Allen, S. Gottipati, and R. Govindarajan. Measuring size, complexity, and coupling of hypergraph abstractions of software: An information-theory approach. Software Quality Journal, 15(2):179--212, 2007.
[3]
T. Arbuckle. Visually summarising software change. In Proc. 12th International Conference Information Visualisation, pages 559--568, 2008.
[4]
T. Arbuckle, A. Balaban, D. K. Peters, and M. Lawford. Software documents: Comparison and measurement. In Proc. 18th Int. Conf. on Software Eng.&Knowledge Eng., pages 740--745, July 2007.
[5]
C. H. Bennett, P. Gács, M. Li, P. Vitányi, and W. H. Zurek. Information distance. IEEE Trans. Information Theory, 44(4):1407--1423, 1998.
[6]
M. Cebrián, M. Alfonseca, and A. Ortega. Common pitfalls using the normalized compression distance: What to watch out for in a compressor. Comms. Info. Sys., 5(4):367--384, 2005.
[7]
G. J. Chaitin. On the length of programs for computing finite binary sequences: statistical considerations. J. ACM, 16(1):145--159, 1969.
[8]
R. N. Chanon. On a measure of program structure. PhD thesis, Carnegie-Mellon University, 1974.
[9]
R. N. Chanon. On a measure of program structure. In Programming Symposium, Proceedings Colloque sur la Programmation, pages 9--16. Springer-Verlag, 1974.
[10]
S. R. Chidamber and C. F. Kemerer. A metrics suite for object oriented design. IEEE Trans. Softw. Eng., 20(6):476--493, 1994.
[11]
R. Cilibrasi. The CompLearn Toolkit. {Online} http://complearn.sourceforge.net/, 2003.
[12]
R. Cilibrasi and P. Vitányi. Clustering by compression. IEEE Trans. Information Theory, 51(4):1523--1545, April 2005.
[13]
D. Clark, S. Hunt, and P. Malacaria. Quantitative information flow, relations and polymorphic types. JLC: Journal of Logic and Computation, 15, 2005.
[14]
N. Fenton. When a software measure is not a measure. Softw. Eng. J., 7(5):357--362, 1992.
[15]
M. H. Halstead. Elements of Software Science. Elsevier Science Inc., 1977.
[16]
M. Harman. The current state and future of search based software engineering. In FOSE '07: 2007 Future of Software Engineering, pages 342--357, 2007.
[17]
M. Harman. Search based software engineering for program comprehension. In ICPC '07: 15th Int. Conf. on Program Comprehension, pages 3--13, 2007.
[18]
L. Hellerman. A measure of computational work. IEEE Trans. Computers, C-21(5):439--446, May 1972.
[19]
M. Jackson. The Name and Nature of Software Engineering, pages 1--38. LNCS. 2008.
[20]
D. Kafura. A survey of software metrics. In ACM '85: Proc. 1985 ACM annual conference on The range of computing : mid-80's perspective, pages 502--506. ACM Press, 1985.
[21]
H. Kagdi, M. L. Collard, and J. I. Maletic. A survey and taxonomy of approaches for mining software repositories in the context of software evolution. J. Softw. Maint. Evol., 19(2):77--131, 2007.
[22]
T. M. Khoshgoftaar and E. B. Allen. Applications of information theory to software engineering measurement. Software Quality Journal, 3(2):79--103, June 1994.
[23]
A. N. Kolmogorov. Three approaches to the quantitative definition of information. Probl. Inform. Trans., 1(1):1--7, 1965.
[24]
G. Kroah-Hartman and K. Sievers. udev. {Online} http://www.kernel.org/, 2003.
[25]
M. Li, X. Chen, X. Li, B. Ma, and P. Vitányi. The similarity metric. IEEE Trans. Information Theory, 50(12):3250--3264, 2004.
[26]
R. Lutz. Evolving good hierarchical decompositions of complex systems. Journal of systems architecture, 47(7):613--634, 2001.
[27]
T. J. McCabe. A complexity measure. In ICSE '76: Proceedings of the 2nd international conference on Software engineering, page 407, 1976.
[28]
S. McCamant and M. D. Ernst. Quantitative information flow as network flow capacity. In R. Gupta and S. P. Amarasinghe, editors, PLDI, pages 193--205. ACM, 2008.
[29]
S. J. Prowell and J. H. Poore. Foundations of sequence-based software specification. IEEE Trans. Softw. Eng., 29(5):417--429, 2003.
[30]
C. E. Shannon. A mathematical theory of communication. The Bell System Technical Journal, 27:379--423 and 623--656, 1948.
[31]
H. A. Simon and A. Ando. Aggregation of variables in dynamic systems. Econometrica, 29:111--138, 1961.
[32]
R. J. Solomonoff. A formal theory of inductive inference. part I and part II. Information and Control, 7(1 and 2):1--22 and 224--254, 1964.
[33]
M. H. van Emden. Hierarchical decomposition of complexity. Machine Intelligence, 5:361--380, 1969.
[34]
M. H. van Emden. An Analysis of Complexity. PhD thesis, Mathematisches Zentrum, Amsterdam, 1971.
[35]
H. Zuse. Software Complexity: Measures and Methods. Walter de Gruyter&Co., Hawthorne, NJ, USA, 1990.

Cited By

View all
  • (2022)A Systematic Review of Attributes and Techniques for Open Source Software Evolution AnalysisResearch Anthology on Agile Software, Software Development, and Testing10.4018/978-1-6684-3702-5.ch006(84-106)Online publication date: 2022
  • (2021)A Systematic Review of Attributes and Techniques for Open Source Software Evolution AnalysisResearch Anthology on Usage and Development of Open Source Software10.4018/978-1-7998-9158-1.ch001(1-23)Online publication date: 2021
  • (2021)Using Kolmogorov Complexity to Study the Coevolution of Header Files and Source Files of C-alike ProgramsResearch Anthology on Recent Trends, Tools, and Implications of Computer Programming10.4018/978-1-7998-3016-0.ch036(814-824)Online publication date: 2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
IWPSE-Evol '09: Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
August 2009
168 pages
ISBN:9781605586786
DOI:10.1145/1595808
  • General Chair:
  • Tom Mens,
  • Program Chairs:
  • Kim Mens,
  • Michel Wermelinger
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 August 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. complearn
  2. information theory
  3. kolmogorov complexity
  4. similarity metric
  5. software evolution
  6. software measurement

Qualifiers

  • Research-article

Conference

ESEC/FSE09
Sponsor:
ESEC/FSE09: Joint 12th European Software Engineering Conference
August 24 - 25, 2009
Amsterdam, The Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)A Systematic Review of Attributes and Techniques for Open Source Software Evolution AnalysisResearch Anthology on Agile Software, Software Development, and Testing10.4018/978-1-6684-3702-5.ch006(84-106)Online publication date: 2022
  • (2021)A Systematic Review of Attributes and Techniques for Open Source Software Evolution AnalysisResearch Anthology on Usage and Development of Open Source Software10.4018/978-1-7998-9158-1.ch001(1-23)Online publication date: 2021
  • (2021)Using Kolmogorov Complexity to Study the Coevolution of Header Files and Source Files of C-alike ProgramsResearch Anthology on Recent Trends, Tools, and Implications of Computer Programming10.4018/978-1-7998-3016-0.ch036(814-824)Online publication date: 2021
  • (2018)A Systematic Review of Attributes and Techniques for Open Source Software Evolution AnalysisOptimizing Contemporary Application and Processes in Open Source Software10.4018/978-1-5225-5314-4.ch001(1-23)Online publication date: 2018
  • (2017)Using Kolmogorov Complexity to Study the Coevolution of Header Files and Source Files of C-alike ProgramsInternational Journal of Knowledge and Systems Science10.4018/IJKSS.20170401028:2(17-26)Online publication date: 1-Apr-2017
  • (2016)Open Source Software EvolutionInternational Journal of Open Source Software and Processes10.4018/IJOSSP.20160101017:1(1-27)Online publication date: 1-Jan-2016
  • (2016)mDSM: A Transformative Approach to Enterprise Software Systems EvolutionTrends in Software Testing10.1007/978-981-10-1415-4_6(111-148)Online publication date: 27-Jul-2016
  • (2015)Using normalized compression distance to measure the evolutionary stability of software systemsProceedings of the 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE.2015.7381805(112-120)Online publication date: 2-Nov-2015
  • (2012)Interpreting Shared Information Content in Software Engineering: What Does It Mean to Say Two Artefacts Are Similar and Why?Convergence and Hybrid Information Technology10.1007/978-3-642-32645-5_79(633-644)Online publication date: 2012
  • (2011)Measuring multi-language software evolutionProceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution10.1145/2024445.2024461(91-95)Online publication date: 5-Sep-2011
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media