Volume 12 Number 1 (Jan. 2017)
Home > Archive > 2017 > Volume 12 Number 1 (Jan. 2017) >
JSW 2017 Vol.12(1): 19-34 ISSN: 1796-217X
doi: 10.17706/jsw.12.1.19-34

Software Instability Analysis Based on Afferent and Efferent Coupling Measures

Danilo B. Santos*, Antônio M. P. Resende, Eudes C. Lima, André P. Freire
Research Group on Software Engineering, PQES, Department of Computer Science, Federal University of Lavras (UFLA), PO Box 3037, 37200-000, Lavras, MG, Brazil.

Abstract—Software instability measures indicate the necessity to modify a software module (class, package, subsystem, etc) due to changes in other related software entities. If there is low instability, then there is evidence the analyzed entity has little dependence on others and the project has a good maintainability. Otherwise, there is evidence that the analyzed entity is sensitive to changes occurred in other entities. In the latter case, software reconstruction could be necessary and the maintainability becomes harder because of dependencies. Consequently, the higher the value of instability in an entity the more vulnerable it is to unexpected changes, even if the entity does not suffer direct changes in its code. This article adopts the instability definition of Martin [1] that depends on the afferent (Ca) and efferent (Ce) coupling metrics. It presents a Systematic Literature Review (SLR) of Martin's instability looking for reference values published in scientific articles and practiced in the open source market. Furthermore, this article analyzes the Martin's instability equation and the evolution of Ca, Ce and instability through new releases of 107 software. Authors applied a systematic literature review (SLR), and observed that there is a shortage of reference values in scientific articles. They performed a statistical analysis of instability measures in 107 free software products, involving three different versions of each, totaling 321 product versions. It was not possible determine or suggest a reference value to Ca, Ce and instability measures due to the high variation of those measures. It was observed that 48% of software products had high instability equal to 1, the maximum value allowed, and the instability average obtained was 0.7. Based on results of this paper, we conclude that software architects and engineers should concentrate more efforts to produce low instability software since first version, because the most of software keep the instability level through the releases. More analysis is necessary to confirm this behavior about software instability through releases.

Index Terms—Software instability analysis, afferent coupling, efferent coupling.

[PDF]

Cite: Danilo B. Santos, Antônio M. P. Resende, Eudes C. Lima, André P. Freire, "Software Instability Analysis Based on Afferent and Efferent Coupling Measures," Journal of Software vol. 12, no. 1, pp. 19-34, 2017.

General Information

ISSN: 1796-217X
Frequency: Monthly
Editor-in-Chief: Prof. Antanas Verikas
Executive Editor: Ms. Yoyo Y. Zhou
Abstracting/ Indexing: DBLP, EBSCO, DOAJ, ProQuest, INSPEC, ULRICH's Periodicals Directory, WorldCat, CNKI,etc
E-mail: jsw@iap.org
  • Aug 02, 2017 News!

    Papers published in JSW Vol. 12, No. 1- Vol. 12, No. 8 have been indexed by DBLP.    [Click]

  • Jan 05, 2017 News!

    [CFP] 2017 the annual meeting of JSW Editorial Board, ICSTE 2017, will be held in Hong Kong, October 27-29, 2017.   [Click]

  • Sep 27, 2017 News!

    Vol.12, No.5 has been indexed by EI (Inspec).   [Click]

  • Oct 30, 2017 News!

    Vol 12, No. 11 has been published with online version 8 original aritcles from 4 countries are published in this issue.      [Click]

  • Oct 30, 2017 News!

    The papers published in Vol.12, No. 11 have all received dois from Crossref.