Beyond source code: the importance of other artifacts in software development (a case study)

  • Authors:
  • Gregorio Robles;Jesus M. Gonzalez-Barahona;Juan Julian Merelo

  • Affiliations:
  • Grupo de Sistemas y Comunicacciones, Departamento de Ingenieria Telematica y Tecnologia Electronica, Universidad Rey Juan Carlos, Tulipan s/n, Mostoles, Madrid, Spain;Grupo de Sistemas y Comunicacciones, Departamento de Ingenieria Telematica y Tecnologia Electronica, Universidad Rey Juan Carlos, Tulipan s/n, Mostoles, Madrid, Spain;Grupo Geneura, Universidad de Granada, Daniel Saucedo Aranda s/n, Granada, Spain

  • Venue:
  • Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Current software systems contain increasingly more elements that have not usually been considered in software engineering research and studies. Source artifacts, understood as the source components needed to obtain a binary, ready to use version of a program, comprise in many systems more than just the elements written in a programming language (source code). Especially when we move apart from systems-programming and enter the realm of end-user applications, we find files for documentation, interface specifications, internationalization and localization modules and multimedia data. All of them are source artifacts in the sense that developers work directly with them, and that applications are built automatically using them as input. This paper discusses the differences and relationships between source code (usually written in a programming language) and these other files, by analyzing the KDE software versioning repository (with about 6,800,000 commits and 450,000 files). A comprehensive study of those files, and their evolution in time, is performed, looking for patterns and trying to infer from them the related behaviors of developers with different profiles, from where we conclude that studying those 'other' source artifacts can provide a great deal of insight on a software system.