Journal of Software: Evolution and Process

Cover image for Vol. 26 Issue 4

Early View (Online Version of Record published before inclusion in an issue)

Edited By: Gerardo Canfora, Darren Dalcher and David Raffo

Impact Factor: 1.273

ISI Journal Citation Reports © Ranking: 2012: 30/105 (Computer Science Software Engineering)

Online ISSN: 2047-7481

Associated Title(s): Concurrency and Computation: Practice and Experience, Software Focus, Software Process: Improvement and Practice, Software Testing, Verification and Reliability, Software: Practice and Experience


  1. 1 - 23
  1. Special Issue Papers

    1. GUI code tracing through direct program interaction

      André L. Santos

      Article first published online: 8 APR 2014 | DOI: 10.1002/smr.1650

      Thumbnail image of graphical abstract

      This paper proposes a navigation mechanism for tracing user interface elements of a running program to their representation in the source code. The mechanism realization relies on program instrumentation. We developed a prototype implementation of the proposed mechanism that implies an acceptable instrumentation overhead, suitable for being used on industrial-scale programs. We performed a user study that revealed that the time spent to accomplish maintenance tasks does not change significantly as program size increases.

  2. Research Articles

    1. Extending value stream mapping through waste definition beyond customer perspective

      Mahvish Khurum, Kai Petersen and Tony Gorschek

      Article first published online: 28 MAR 2014 | DOI: 10.1002/smr.1647

      Thumbnail image of graphical abstract

      This research combines the software value map with the use of value stream mapping. An industrial case study is conducted where the combined approach is used. The case study demonstrates the ability to identify wastes and improvements to remove these wastes.

    2. Model refactoring using examples: a search-based approach

      Adnane Ghannem, Ghizlane El Boussaidi and Marouane Kessentini

      Article first published online: 12 FEB 2014 | DOI: 10.1002/smr.1644

    3. Classification and comparison of architecture evolution reuse knowledge—a systematic review

      Aakash Ahmad, Pooyan Jamshidi and Claus Pahl

      Article first published online: 12 FEB 2014 | DOI: 10.1002/smr.1643

      Thumbnail image of graphical abstract

      This research presents a systematic literature review to identify, taxonomically classify and systematically compare the existing research focused on enabling or enhancing change reuse to support architecture-centric software evolution (ACSE). The existing literature is classified into two categories that support (i) empirical acquisition and (ii) systematic application of architecture evolution reuse knowledge (AERK) to guide ACSE. A lack of research on acquisition of AERK suggests the need of solutions with architecture change mining as a complementary phase for architecture change execution.

  3. Special Issue Papers

    1. Supporting collaborative development using process models: a tooled integration-focused approach

      Komlan Akpédjé Kedji, Redouane Lbath, Bernard Coulette, Mahmoud Nassar, Laurent Baresse and Florin Racaru

      Article first published online: 6 FEB 2014 | DOI: 10.1002/smr.1640

      Thumbnail image of graphical abstract

      We question the use of process-centered software engineering environments as central orchestrators of development environments. Our proposal exploits deep links and hooks to integrate process concerns into such environments with less friction.

  4. Research Articles

    1. Process mining support for Capability Maturity Model Integration-based software process assessment, in principle and in practice

      J. Samalikova, R. J. Kusters, J. J. M. Trienekens and A. J. M. M. Weijters

      Article first published online: 4 FEB 2014 | DOI: 10.1002/smr.1645

      Thumbnail image of graphical abstract

      This paper investigates the potential of process mining to support current software process assessment and improvement approaches. Based on an analysis of Capability Maturity Model Integration (CMMI) from a process mining perspective, particular CMMI model components are identified for which it is in principle possible to apply process mining techniques. Subsequently, criteria have been defined to select, with respect to these particular CMMI components, software processes for which process mining has an added value.

  5. Special Issue Papers


      Hideto Ogasawara, Takumi Kusanagi and Minoru Aizawa

      Article first published online: 4 FEB 2014 | DOI: 10.1002/smr.1607

      Thumbnail image of graphical abstract

      To promote software process improvement (SPI) activities throughout Toshiba Group, we organized a Corporate Software Engineering Process Group in April 2000. For over 10 years, we have been constructing Toshiba's SPI framework on the basis of the SPI framework that we proposed and promoting process improvement activities using it. As a result, maturity levels were improved in many development departments, and the applicability of the SPI framework has been confirmed.

  6. Research Articles

    1. A mapping study on the feasibility of method engineering

      Marco Kuhrmann, Daniel Méndez Fernández and Michaela Tiessler

      Article first published online: 30 JAN 2014 | DOI: 10.1002/smr.1642

      Thumbnail image of graphical abstract

      The research area of method engineering arose in the 1990s aiming at the systematization of process construction and application. We contribute a systematic mapping study to distill a common understanding about available method engineering concepts and their maturity. A review of 83 publications shows that most of those contributions only repeat and discuss formerly introduced concepts, whereas reports on empirically sound evidence on the feasibility that would allow for practical application and experience extraction are still missing.

  7. Special Issue Papers

    1. Taxonomy for software teamwork measurement

      Pierre N. Robillard, Mathieu Lavallée, Yvan Ton-That and François Chiocchio

      Article first published online: 13 JAN 2014 | DOI: 10.1002/smr.1641

      Thumbnail image of graphical abstract

      This paper presents a taxonomy of software team dynamics composed of nine episodes. Each episode type is illustrated with examples observed in an industrial capstone project. The validation of the taxonomy appropriateness has demonstrated that 96% of the activities can be categorized by these episodes. This work provided the constructs to build models of team dynamics that could outline cause and effect relationships and enable the comparisons of results from the literature.

  8. Research Articles

    1. Challenges and opportunities for software change request repositories: a systematic mapping study

      Yguaratã Cerqueira Cavalcanti, Paulo Anselmo da Mota Silveira Neto, Ivan do Carmo Machado, Tassio Ferreira Vale, Eduardo Santana de Almeida and Silvio Romero de Lemos Meira

      Article first published online: 16 DEC 2013 | DOI: 10.1002/smr.1639

      Thumbnail image of graphical abstract

      Change request repositories are fundamental for software maintenance. However, their benefits do not come without issues. We analyzed 142 studies to characterize the research on these issues and provide directions for future investigation. The studies were classified into topics and grouped into two dimensions: challenges and opportunities. Then, the challenges were classified in accordance with an existing taxonomy for information retrieval models. Additionally, we investigated different change request repositories to understand whether and how they addressed the topics identified.

  9. Special Issue Papers

    1. On the evolution of Lehman's Laws

      Michael W. Godfrey and Daniel M. German

      Article first published online: 15 NOV 2013 | DOI: 10.1002/smr.1636

      Thumbnail image of graphical abstract

      This brief paper honors the contributions of the late Prof Manny Lehman to the study of software evolution by means of an evolutionary case study: we discuss his engineering background and explore how this helped shape his views on software development; we discuss the laws of software evolution that he postulated based on his industrial experiences; and we examine how the nature of software systems are undergoing radical change and consider what this means for future evolutionary studies of software.

    2. Agile maturity model: analysing agile maturity characteristics from the SPICE perspective

      Tomas Schweigert, Detlef Vohwinkel, Morten Korsaa, Risto Nevalainen and Miklos Biro

      Article first published online: 24 OCT 2013 | DOI: 10.1002/smr.1617

    3. You have full text access to this OnlineOpen article
      Studying the laws of software evolution in a long-lived FLOSS project

      Jesus M. Gonzalez-Barahona, Gregorio Robles, Israel Herraiz and Felipe Ortega

      Article first published online: 14 OCT 2013 | DOI: 10.1002/smr.1615

      Thumbnail image of graphical abstract

      The paper presents a methodology for studying the evolution of long-lived projects on the basis of the information stored in their source code management repository. The methodology is used to describe several aspects of the history of glibc, finding that some of the laws of software evolution may not hold in this case.

    4. An optimization-based approach to lookup table program transformations

      Chris Wilcox, Michelle Mills Strout and James M. Bieman

      Article first published online: 21 SEP 2013 | DOI: 10.1002/smr.1620

      Thumbnail image of graphical abstract

      Scientific programmers can improve the performance of function evaluation by precomputing and storing results in a lookup table (LUT), thereby replacing costly evaluation code with an inexpensive memory access. A code transformation that replaces computation with LUT code can improve performance; however, accuracy is reduced because of error inherent in reconstructing values from LUT data. LUTs are commonly used to approximate expensive elementary functions.

    5. Methodological framework for the allocation of work packages in global software development

      Marcos Ruano-Mayoral, Cristina Casado-Lumbreras, Helena Garbarino-Alberti and Sanjay Misra

      Article first published online: 20 SEP 2013 | DOI: 10.1002/smr.1618

      Thumbnail image of graphical abstract

      This paper presents a framework to allocate work packages among project participants in global software development settings. Results show a remarkable improvement in several metrics including satisfaction and effect detection.

    6. Impact analysis in the presence of dependence clusters using Static Execute After in WebKit

      Lajos Schrettner, Judit Jász, Tamás Gergely, Árpád Beszédes and Tibor Gyimóthy

      Article first published online: 11 SEP 2013 | DOI: 10.1002/smr.1614

      Thumbnail image of graphical abstract

      Using the Static Execute After relation derived from a static program dependence analysis method, the paper deals with prediction capability in change impact analysis, formation and properties of large dependence clusters and applications to selective regression testing. The methods are investigated empirically using a large open source system, WebKit.

    7. Experience report: implementation of a multi-standard compliant process improvement program

      Onur Kaynak and N. Alpay Karagöz

      Article first published online: 24 JUL 2013 | DOI: 10.1002/smr.1610

      Thumbnail image of graphical abstract

      It is a challenging task to improve processes of an IT company, which is compliant with many standards. This article summarizes challenges faced, key practices implemented, and lessons-learned for the implementation of a multi-standard compliant process improvement program at an IT company, which is mainly focused on developing software intensive systems and service delivery projects.

    8. Adopting agile practices when developing software for use in the medical domain

      Martin McHugh, Fergal McCaffery and Valentine Casey

      Article first published online: 23 JUL 2013 | DOI: 10.1002/smr.1608

      Thumbnail image of graphical abstract

      A number of barriers exist when developing medical device software using agile methods; however, a number of these barriers are perceived and can be overcome.

  10. Editorials

    1. You have free access to this content
      Software process improvement leveraged in various application domains

      Miklós Biró, Richard Messnarz and Ricardo Colomo-Palacios

      Article first published online: 19 JUL 2013 | DOI: 10.1002/smr.1612

  11. Special Issue Papers

    1. Successfully transitioning a research project to a commercial spin-out using an agile software process

      Phelim Dowling

      Article first published online: 12 JUL 2013 | DOI: 10.1002/smr.1611

      Thumbnail image of graphical abstract

      Ultimately the goal of a research project is to end up with a commercially successful product. Having a sound but flexible software process that can steer the evolution of the idea from concept to a viable entity is critical. This analysis of the FeedHenry journey will show how an agile implementation can lead to a successful spin out.

    2. The Linux kernel: a case study of build system variability

      Sarah Nadi and Ric Holt

      Article first published online: 18 APR 2013 | DOI: 10.1002/smr.1595

      Thumbnail image of graphical abstract

      Variability in the Linux kernel is implemented through three distinct artifacts: source code, Kconfig (configuration) files, and Kbuild files (Makefiles). Any inconsistencies between these three can lead to undesirable anomalies that can lead to increased maintenance efforts or decreased reliability. This paper focuses on analyzing the role and effect of Kbuild variability on the consistency of Linux. We provide a quantitative analysis of variability in Kbuild and then study how variability constraints in Kbuild affect variability anomalies detected in Linux.

    3. Large-scale inter-system clone detection using suffix trees and hashing

      Rainer Koschke

      Article first published online: 10 FEB 2013 | DOI: 10.1002/smr.1592

      Thumbnail image of graphical abstract

      Similar code between two systems can effectively and efficiently be found by a combination of hash-based filtering and sequence matching based on a suffix tree. Precision can effecetively be improved by filtering matches using a decission tree based on software metrics, in particular, parameter similarity. The decission tree can be automatically learned from a validated sample.


  1. 1 - 23