A Framework for Effective Object-Oriented Software Change Impact Analysis

Full Text (PDF, 858KB), PP.28-41

Views: 0 Downloads: 0

Author(s)

Bassey Isong 1,* Obeten Ekabua 2

1. University of Venda, Department of Computer Science, Thohoyandou, 0950, South Africa

2. North-West University, Department of Computer Sciences, Mmabatho, 2735, South Africa

* Corresponding author.

DOI: https://doi.org/10.5815/ijitcs.2015.04.03

Received: 22 May 2014 / Revised: 13 Oct. 2014 / Accepted: 24 Dec. 2014 / Published: 8 Mar. 2015

Index Terms

Impact Analysis, Software Change, Complex Networks, Faults, Matrix

Abstract

Object-oriented (OO) software have complex dependencies and different change types which frequently affect their maintenance in terms of ripple-effects identification or may likely introduce some faults which are hard to detect. As change is both important and risky, change impact analysis (CIA) is a technique used to preserve the quality of the software system. Several CIA techniques exist but they provide little or no clear information on OO software system representation for effective change impact prediction. Additionally, OO classes are not faults or failures-free and their fault-proneness is not considered during CIA. There is no known CIA approach that incorporates both change impact and fault prediction. Consequently, making changes to software components while neglecting their dependencies and fault-proneness may have some unexpected effects on their quality or may increase their failure risks. Therefore, this paper proposes a novel framework for OO software CIA that allows for impact and fault predictions. Moreover, an intermediate OO program representation that explicitly represents the software and allows its structural complexity to be quantified using complex networks is proposed. The objective is to enhance static CIA and facilitate program comprehension. To assess its effectiveness, a controlled experiment was conducted using students’ project with respect to maintenance duration and correctness. The results obtained were promising, indicating its importance for impact analysis.

Cite This Paper

Bassey Isong, Obeten Ekabua, "A Framework for Effective Object-Oriented Software Change Impact Analysis", International Journal of Information Technology and Computer Science(IJITCS), vol.7, no.4, pp.28-41, 2015. DOI:10.5815/ijitcs.2015.04.03

Reference

[1]Xu, J., Ho, D. and Capretz, L.F. An Empirical Validation of Object-Oriented Design Metrics for Fault Prediction. Journal of Computer Science No.4, Vol 7, pp. 571-577, 2008. ISSN 1549-3636

[2]Subramanyam, R. and Krishnan, M.S.: Empirical Analysis of CK Metrics for Object- Oriented Design Complexity: Implications for Software Defects. IEEE Trans. Software Eng. No.29, pp. 297-310, 2003

[3]Janes, A. et al. Identification of defect-prone classes in telecommunication software systems using design metrics. International Journal of Information Sciences, 2006

[4]Al-Dallal, J. and Briand, L.C.: An object-oriented high-level design-based class cohesion metric. Information & Software Technology No. 52, pp.1346-1361, 2010

[5]Lee, M., Offutt, A.J. and. Alexander, R. T. “Algorithmic analysis of the impacts of changes to object-oriented software. Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 00). Washington, DC, USA: IEEE Computer Society, pp. 61-70, 2000

[6]Jönsson, P. and Lindvall, M.: “Impact Analysis” Engineering and Managing Software Requirements Issue: 6, Springer-Verlag, pp. 117-142, 2005

[7]Bohner, S. A.: “Extending software change impact analysis into COTS components” Proceedings of the 27th Annual NASA Goddard Software Engineering Workshop, Greenbelt, USA, pp.175 -182. (2002)

[8]Arnold, R.S., and Bohner, S.A.: “Impact analysis – towards a framework for comparison”, The Intl Conf. on Software Maintenance, 1993

[9]Abdi, M. K., Lounis, H. and Sahraoui, H. “Analyzing change impact in object-oriented systems” Proceedinds of 32nd Euromicro Conference on Software Engineering and Advanced, 2006, pp.8

[10]Rathore, S.S. and Gupta, A. Validating the Effectiveness of Object-Oriented Metrics over Multiple Releases for Predicting FP. Proceedings of 19th Asia-Pacific Software Engineering Conference, IEEE. pp.350-355, 2012

[11]Zhou, Y., Xu, B. and Leung, H. On the ability of complexity metrics to predict fault-prone classes in object-oriented systems. The Journal of Systems and Software No. 83, pp. 660–674, 2010

[12]Isong, B.E. and Ekabua, O.O. “A Systematic Review of the Empirical Validation of Object-oriented Metrics towards Fault-proneness Prediction”, International Journal of Software Engineering and Knowledge Engineering (IJSEKE) World Scientific Publishing Company December, 2013. Vol. 23, No.10, pp. 1513–1540

[13]Pan, W.F., Li B, Ma Y.T. et al: Measuring structural quality of object-oriented software via bug propagation analysis on weighted software networks. Journal of Computer Science and Technology, 25(6): 1202–1213 Nov. 2010. 

[14]Sun, X., Li, B., Tao, C., Wen, W. and Zhang, S. “Change Impact Analysis Based on a Taxonomy of Change Types” 2010 IEEE Proceedings of 34th Annual Computer Software and Applications Conference (COMPSAC 2010), 2010. pp.373-82

[15]Oliveira, M. et al: “The Hybrid Technique for Object-Oriented Software Change Impact, Analysis” Proceedings of the 14th European Conference on Software Maintenance and Reengineering (CSMR 2010), IEEE Press, 2010, pp.252-255

[16]Pan, W.F., Li B, Ma Y.T. et al: Measuring structural quality of object-oriented software via bug propagation analysis on weighted software networks. Journal of Computer Science and Technology, 25(6): 1202–1213 Nov. 2010. 

[17]Liu, J., Lu, J., He, K. and Li, B.: Characterizing the structural quality of general Complex software networks. International Journal of Bifurcation and Chaos, Vol. 18, No. 2 (2008) 605–613

[18]Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. Experimentation in Software Engineering: An Introduction. Norwell, MA, USA: Kluwer Academic Publishers, 2000

[19]Kitchenham, B.A., Pfleeger, S.L., Pickard, L.M., Jones, P.W., Hoaglin, D.C., El Emam, K., Rosenberg, J. “Preliminary guidelines for empirical research in software engineering”. IEEE Transactions on Software Engineering, vol. 28, no. 8, pp. 721–734, 2002

[20]Mayrhauser, A.V. and Vans, A.M. Program comprehension during software maintenance and evolution. Computer vol. 28, no. 8, pp.44–55, 1995.