Abstract
Different types of environment and user changes necessitate changes in the source code of the software and these changes also get propagated to other entities of the software. Change Impact Analysis (CIA) is one technique which helps the developers to know about the risks involved in changing different entities of the software system. This type of analysis can be carried out by computing different dependencies present in the source code. This paper proposes a new approach to compute CIA based on 8 different types of source code dependencies, out of which 3 dependencies are being introduced for the first time in this paper. The performance of the proposed technique is evaluated over four different software and results indicate that new dependencies used by us contribute significantly in accurate computation of CIA.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Sun, X., Li, B., Li, B., Wen, W.: A comparative study of static CIA techniques. In: Proceedings of the Fourth Asia-Pacific Symposium on Internetware, pp. 23–31. ACM (2012)
Tóth, G., Hegedűs, P., Beszédes, Á., Gyimóthy, T., Jász, J.: Comparison of different impact analysis methods and programmer’s opinion: an empirical study. In: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java, pp. 109–118. ACM (2010)
Abdeen, H., Bali, K., Sahraoui, H., Dufour, B.: Learning dependency-based change impact predictors using independent change histories. Inf. Softw. Technol. 67, 220–235 (2015)
Sun, X., Li, B., Leung, H., Li, B., Zhu, J.: Static change impact analysis techniques: a comparative study. J. Syst. Softw. 109, 137–149 (2015)
Alzamil, Z.A.: Redundant coupling detection using dynamic dependence analysis. In: International Conference on Software Engineering Advances (2007). https://doi.org/10.1109/icsea.2007.56
Mens, T.: Introduction and roadmap: history and challenges of software evolution. Software Evolution, pp. 1–11. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-76440-3_1
Moore, J.W.: Software engineering standards (1998)
Podgurski, A., Clarke, L.A.: A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. Softw. Eng. 16(9), 965–979 (1990)
Sharma, T., Suryanarayana, G.: Augur: incorporating hidden dependencies and variable granularity in change impact analysis. In: IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 73–78. IEEE (2016)
Jász, J., Beszédes, Á., Gyimóthy, T., Rajlich, V.: Static execute after/before as a replacement of traditional software dependencies. In: Software Maintenance ICSM, pp. 137–146. IEEE (2008)
Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. ACM Trans. Programm. Lang. Syst. (TOPLAS) 9(3), 319–349 (1987)
Lutellier, T., et al.: Measuring the impact of code dependencies on software architecture recovery techniques. IEEE Trans. Softw. Eng. 1–22 IEEE (2017)
Lienhard, A., Greevy, O., Nierstrasz, O.: Tracking objects to detect feature dependencies. In: 15th IEEE International Conference on Program Comprehension. ICPC, pp. 59–68. IEEE (2007)
Cataldo, M., Herbsleb, J.D., Carley, K.M.: Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity. In: Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, pp. 2–11. ACM (2008)
Cafeo, B.B.P., Cirilo, E., Garcia, A., Dantas, F., Lee, J.: Feature dependencies as change propagators: an exploratory study of software product lines. Inf. Softw. Technol. 69, 37–49 (2016)
Lutellier, T., et al.: Comparing software architecture recovery techniques using accurate dependencies. In: 37th IEEE International Conference on, Software Engineering (ICSE), vol. 2, pp. 69–78. IEEE (2015)
Alam, K.A., Ahmad, R., Akhunzada, A., Nasir, M.H.N.M., Khan, S.U.: Impact analysis and change propagation in service-oriented enterprises: a systematic review. Inf. Syst. 54, 43–73 (2015)
Li, B., Sun, X., Leung, H., Zhang, S.: A survey of code-based change impact analysis techniques. J Softw. Test. Verif. Reliab. 23, 613–646 (2012)
Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Trans. Programm. Lang. Syst. 12(1), 26–61 (1990)
Ryder, B.G.: Constructing the call graph of a program. IEEE Trans. Softw. Eng. 5(3), 216–226 (1979)
Dit, B., et al.: Impactminer: a tool for change impact analysis. In: Companion Proceedings of the 36th International Conference on Software Engineering, pp. 540–543. ACM (2014)
De-Lucia, A., Fasano, F., Oliveto, R.: Traceability management for impact analysis. In: Proceedings of the International Conference on Software Maintenance, pp. 21–30. IEEE (2008)
Maâzoun, J., Bouassida, N., Ben-Abdallah, H.: Change impact analysis for software product lines. J. King Saud Univ. -Comput. Inf. Sci. 28(4), 364–380 (2016)
Autexier, S., Müller, N: Semantics-based change impact analysis for heterogeneous collections of documents. In: Proceedings of the 10th ACM Symposium on Document Engineering, pp. 97–106. ACM (2010)
Bohner, S., Arnold, R.: Software Change Impact Analysis. IEEE Computer Society Press, Los Alamitos (1996)
Manson, J., Pugh, W., Adve, S.V.: The Java memory model, vol. 40, no. 1. ACM (2005)
Sun, X., Li, B., Zhang, S., Tao, C., Chen, X., Wen, W.: Using lattice of class and method dependence for change impact analysis of object oriented programs. In: Proceedings of the 2011 ACM Symposium on Applied Computing, pp. 1439–1444. ACM (2011)
Li, B., Zhang, Q., Sun, X., Leung, H.: WAVE-CIA: a novel CIA approach based on call graph mining. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, pp. 1000–1005. ACM (2013)
Cai, H., Santelices, R.: A comprehensive study of the predictive accuracy of dynamic change-impact analysis. J. Syst. Softw. 103, 248–265 (2015)
Amarjeet, Chhabra, J.K.: FP-ABC: fuzzy pareto-dominance driven artificial bee colony algorithm for many objective software clustering. Comput. Lang. Syst. Struct. 51, 1–21 (2018)
Amarjeet, Chhabra, J.K.: Harmony search based remodularization for object-oriented software systems. Comput. Lang. Syst. Struct. 47(2), 153–169 (2017)
Parashar, A., Chhabra, J.K.: Mining software change data stream to predict changeability of classes of object-oriented software system. Evolv. Syst. 7(2), 117–128 (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Malhotra, M., Chhabra, J.K. (2019). Improved Computation of Change Impact Analysis in Software Using All Applicable Dependencies. In: Singh, P., Paprzycki, M., Bhargava, B., Chhabra, J., Kaushal, N., Kumar, Y. (eds) Futuristic Trends in Network and Communication Technologies. FTNCT 2018. Communications in Computer and Information Science, vol 958. Springer, Singapore. https://doi.org/10.1007/978-981-13-3804-5_27
Download citation
DOI: https://doi.org/10.1007/978-981-13-3804-5_27
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-3803-8
Online ISBN: 978-981-13-3804-5
eBook Packages: Computer ScienceComputer Science (R0)