Journal of Software: Evolution and Process

Cover image for Journal of Software: Evolution and Process

March 2013

Volume 25, Issue 3

Pages 193–324

  1. Research Articles

    1. Top of page
    2. Research Articles
    1. Towards a better understanding of software evolution: an empirical study on open-source software (pages 193–218)

      Iulian Neamtiu, Guowu Xie and Jianbo Chen

      Version of Record online: 1 SEP 2011 | DOI: 10.1002/smr.564

      Thumbnail image of graphical abstract

      This paper present the results of an empirical software evolution study on long spans of evolution for nine large, popular open source projects.

      The first contribution is an operationalization of Lehman's software evolution laws and the results of testing these laws on the nine open source projects; the findings suggest that only two laws—continuing change and continuing growth—are outright confirmed. The second contribution is an analysis of growth rate and change distribution for the nine projects, which reveals quantitative differences in growth rates for projects with multiple branches, as well as differences in change distribution across projects.

    2. Supporting software architects to improve their software system's decomposition – lessons learned (pages 219–232)

      Adam Vanya, Steven Klusener, Rahul Premraj and Hans van Vliet

      Version of Record online: 19 OCT 2011 | DOI: 10.1002/smr.574

      Thumbnail image of graphical abstract

      We describe the lessons learned on how to effectively support architects improve the decomposition of their software system. We have developed and experienced with a process to support architects in assessing unwanted dependencies between subsystems of a multimillion line industrial system. Our efforts have led to the identification of a number of unwanted dependencies that the organization did not know of yet, and we helped in resolving them.

    3. A top-down approach to construct execution views of a large software-intensive system (pages 233–260)

      Trosky B. Callo Arias, Pierre America and Paris Avgeriou

      Version of Record online: 26 OCT 2011 | DOI: 10.1002/smr.577

      Thumbnail image of graphical abstract

      This paper presents an approach to construct execution views, which are views that describe what the software of a software-intensive system does at runtime and how it does it.

    4. Clone evolution: a systematic review (pages 261–283)

      Jeremy R. Pate, Robert Tairas and Nicholas A. Kraft

      Version of Record online: 16 NOV 2011 | DOI: 10.1002/smr.579

      Thumbnail image of graphical abstract

      We present a systematic review of 30 papers that describe clone evolution studies. Through the answers to three research questions, we present the methods that researchers have used to study clone evolution, the patterns that researchers have found evolving clones to exhibit, and the evidence that researchers have established regarding the extent of inconsistent change undergone by clones during software evolution. We identify human-based empirical studies and classification of clone evolution patterns as areas in particular need of further work.

    5. Increasing software development efficiency and maintainability for complex industrial systems – A case study (pages 285–301)

      Robert Lagerström, Ulf Sporrong and Anders Wall

      Version of Record online: 3 NOV 2011 | DOI: 10.1002/smr.581

      Thumbnail image of graphical abstract

      This paper proposes a new version of the Business-Architecture-Process method, previously presented and tested in 2007. The method is tested in a case study conducted at an ABB business unit in Sweden. This case study (together with the 2007 case study) show that the method is useful when it comes to changing software development and maintenance processes based on software architectural change.

    6. Combining metrics for software evolution assessment by means of Data Envelopment Analysis (pages 303–324)

      Alexander Chatzigeorgiou and Emmanouil Stiakakis

      Version of Record online: 31 JAN 2012 | DOI: 10.1002/smr.584

      Thumbnail image of graphical abstract

      In this paper, we illustrate the use of Data Envelopment Analysis in order to rank various versions of a software system based on the values of design metrics and size characteristics. The main benefit obtained from the application of Data Envelopment Analysis is the ability to provide a unified view of several metrics and the normalization of the derived scores over the size properties of the examined systems.