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

Measuring multi-language software evolution: a case study

Published:05 September 2011Publication History

ABSTRACT

Characterising and measuring software developed in multiple languages is a problem for practitioners. Rather than a language-based approach, we avoid difficulties related to syntax, semantics and language paradigms by looking directly at relative shared information content to perform these tasks. Measuring, for each language, the relative number of bits of shared binary information between artefacts representative of consecutive releases of the project using a common tool permits the direct comparison of evolution results for the multiple languages. This paper presents a case study of the program suite called git, written in C, perl and Bourne shell. The study uses this method to show that, for git, code in scripting languages does not prototype later C, Bourne shell and C code are written together and that the languages' code contributions occur concurrently.

References

  1. T. Arbuckle. Measure software -- and its evolution -- using information content. In IWPSE-Evol '09: Proceedings of the Joint International and Annual ERCIM workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops, pages 129--134, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Arbuckle. Studying software evolution using artefacts' shared information content. Science of Computer Programming, 76(12):1078--1097, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. J. Barrett, A. Kaplan, and J. C. Wileden. Automated support for seamless interoperability in polylingual software systems. In Proc. 4th ACM SIGSOFT Symposium on Foundations of Software Engineering, SIGSOFT '96, pages 147--155, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Capers Jones. Estimating Software Costs, 2E. McGraw-Hill, Inc., New York, NY, USA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. Capers Jones. Applied Software Measurement: Global Analysis of Productivity and Quality, 3E. McGraw-Hill Osborne Media, 2008.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  7. D. Chen, G. Doumeingts, and F. Vernadat. Architectures for enterprise integration and interoperability: Past, present and future. Computers in Industry, 59(7):647--659, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Cilibrasi. The CompLearn Toolkit, 2003.Google ScholarGoogle Scholar
  9. R. Cilibrasi and P. Vitányi. Clustering by compression. IEEE Trans. Information Theory, 51(4):1523--1545, April 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. Collin. XZ. {Online} http://tukaani.org/xz/, 2005.Google ScholarGoogle Scholar
  11. L. Deruelle, N. Melab, M. Bouneffa, and H. Basson. Analysis and manipulation of distributed multi-language software code. In Proc. 1st IEEE Int. Workshop on Source Code Analysis and Manipulation, pages 43--54, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  12. C. Kolivas. lrzip -- long range zip, based on rzip by Andrew Tridgell. {Online} http://ck.kolivas.org/apps/lrzip/, 2006.Google ScholarGoogle Scholar
  13. K. Kontogiannis, P. Linos, and K. Wong. Comprehension and maintenance of large-scale multi-language software applications. In Proc. 22nd IEEE Int. Conf. on Software Maintenance, pages 497--500, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. B. Kullbach, A. Winter, P. Dahm, and J. Ebert. Program comprehension in multi-language systems. In Proc. Working Conference on Reverse Engineering, WCRE '98, pages 135--143, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Li. Information distance and its applications. International Journal of Foundations of Computer Science, 18(4):669--681, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  16. M. Li, X. Chen, X. Li, B. Ma, and P. Vitányi. The similarity metric. IEEE Trans. Information Theory, 50(12):3250--3264, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Li and P. M. Vitányi. An Introduction to Kolmogorov Complexity and Its Applications. Springer Publishing Company, Incorporated, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. D. McIlroy. Macro instruction extensions of compiler languages. Comm. ACM, 3(4):214--220, 1960. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. Mens and S. Demeyer, editors. Software Evolution. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Mens, M. Wermelinger, S. Ducasse, S. Demeyer, R. Hirschfeld, and M. Jazayeri. Challenges in software evolution. In IWPSE '05: Proc. 8th Int. Workshop on Principles of Software Evolution, pages 13--22, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. L. Moise and K. Wong. Extracting and representing cross-language dependencies in diverse software systems. In Proc. 12th Working Conference on Reverse Engineering, pages 209--218, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. Morris, A. Malony, S. Shende, and K. Huck. Design and implementation of a hybrid parallel performance measurement system. In 39th Int. Conf. on Parallel Processing, ICPP '10, pages 492--501, Sept. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. I. Pavlov. LZMA compression algorithm implementation (SDK). {Online} http://www.7-zip.org/sdk.html, 1999.Google ScholarGoogle Scholar
  24. R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, 2008.Google ScholarGoogle Scholar
  25. R. Rahimi and R. Khosravi. Architecture conformance checking of multi-language applications. In IEEE/ACS Int. Conf. on Computer Systems and Applications (AICCSA), pages 1--8, May 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. Torvalds and J. C. Hamano. Git -- fast version control system. {Online} http://git.or.cz/index.html, 2005.Google ScholarGoogle Scholar
  27. D. Waddington and B. Yao. High-fidelity C/C++ code transformation. Science of Computer Programming, 68(2):64--78, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Measuring multi-language software evolution: a case study

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in
                    • Published in

                      cover image ACM Conferences
                      IWPSE-EVOL '11: Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
                      September 2011
                      140 pages
                      ISBN:9781450308489
                      DOI:10.1145/2024445

                      Copyright © 2011 ACM

                      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]

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      • Published: 5 September 2011

                      Permissions

                      Request permissions about this article.

                      Request Permissions

                      Check for updates

                      Qualifiers

                      • research-article

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader