A Dynamic Approach to Estimate Change Impact using Type of Change Propagation
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
Software evolution is an ongoing process carried out with the aim of extending base applications either for adding new functionalities or for adapting software to changing environments. This brings about the need for estimating and determining the overall impact of changes to a software system. In the last few decades many such change/impact analysis techniques have been developed to identify consequences of making changes to software systems. In this paper we propose a new approach of estimating change/impact analysis by classifying change based on type of change classification e.g. (a) nature and (b) extent of change propagation. The impact set produced consists of two dimensions of information: (a) statements affected by change propagation and (b) percentage i.e. statements affected in each category and involving the overall system. We also propose an algorithm for classifying the type of change. To establish confidence in effectiveness and efficiency we illustrate this technique with the help of an example. Results of our analysis are promising towards achieving the aim of the proposed endeavor to enhance change classification. The proposed dynamic technique for estimating impact sets and their percentage of impact will help software maintainers in performing selective regression testing by analyzing impact sets regarding the nature of change and change dependency.
Abstract
Software evolution is an ongoing process carried out with the aim of extending base applications either for adding new functionalities or for adapting software to changing environments. This brings about the need for estimating and determining the overall impact of changes to a software system. In the last few decades many such change/impact analysis techniques have been developed to identify consequences of making changes to software systems. In this paper we propose a new approach of estimating change/impact analysis by classifying change based on type of change classification e.g. (a) nature and (b) extent of change propagation. The impact set produced consists of two dimensions of information: (a) statements affected by change propagation and (b) percentage i.e. statements affected in each category and involving the overall system. We also propose an algorithm for classifying the type of change. To establish confidence in effectiveness and efficiency we illustrate this technique with the help of an example. Results of our analysis are promising towards achieving the aim of the proposed endeavor to enhance change classification. The proposed dynamic technique for estimating impact sets and their percentage of impact will help software maintainers in performing selective regression testing by analyzing impact sets regarding the nature of change and change dependency.
참고문헌 (32)
- R. C. Seacord, "Modernizing Legacy Systems: Modernizing Legacy Sys-tems: Software Technologies, Engineering Processes, and Business Practices", Addison-Wesley, ~ (2003)
- M. Lee, "Algorithmic Analysis of the Impacts of Changes to Object-oriented Software", The Technology of Object-Oriented Languages and Systems, 61~ (2000)
- G. J. Myres, "Art of Software Testing", John Wiley & Sons, ~ (1979)
- S. Bohner, "Software Change Impact Analysis" (1996), Proceedings of IEEE Computer Society Press
- R. S. Arnold, "Impact analysis - towards a framework for comparison", Proceedings of IEEE International Conference on Software Maintenance, pp.292~301 (1993)
- J. P. Loyall, "Impact analysis and change management for avio-nics software", Proceedings of IEEE National Aerospace and ElectronicsConference, Part 2, pp.740~747 (1997)
- S. L. Pfleeger, "Software Engineering: Theory and Practice", Prentice Hall, ~ (1998)
- R. J. Turver, "Early impact analysis technique for software maintenance", Journal of Software Maintenance: Research and Practice, 6(1), pp.35~52 (1994)
- "International Standard - ISO", IEC 14764 IEEE Std 14764-2006
- R. Moreton, "A process model for software maintenance", Journal of Information Technology, 5, pp.100~104 (1990)
- Orso, "Leveraging field data for impact analysis and regression testing", Proceedings of the ACM SIGSOFT Symposium on Foundations of Software Engineering, pp.128~137 (2003)
- B. G. Ryder, "Change impact analysis for object oriented programs", Proceedings of the ACM Workshop on Program Analysis for Software Tools and Engineering, pp.46~53 (2001)
- L. C. Briand, "Impact Analysis and Change Management of UML Mod-els", Proceedings of the International Conference on Software Maintenance (ICSM’03) (2003)
- M.Weiser, "Program slicing", Proceedings of 5th IEEE International Conference on Software Engi-neering, pp.439~49 (1981)
- H. Agrawal, "Dynamic program slicing", Proceedings of SIGPLAN ’90 Conference on Programming Language Design and Implementation, pp.246~56 (1990), ACM
- S. Horwitz, "Interprocedural Slicing Using Dependence Graphs", Prog. Lang. Syst, 12(1), pp.27~60 (1990), ACM Trans
- M. Kamkar, "An Overview and Comparative Classification of Program Slicing Techniques", Journal of Systems Software, 31(3), pp.197~214 (1995)
- B. Korel, "Dynamic slicing in computer programs", Journal of Systems Software, 13(3), pp.187~95 (1990)
- L. Li, "Algorithmic analysis of the impact of changes to object-oriented software", Proceedings of IEEE International Conference on Software Maintenance, pp.171~184 (1996)
- J. Law, "Whole program path-based dynamic impact analysis", Proceedings of the International Conference on Software Engineering, pp.308~318 (2003)
- B. Breech, "Online impact analysis via dynamic compilation Technology", Proceedings of the International Conference of Software Maintenance (2004)
- J. Law, "Incremental dynamic impact analysis for evolving software systems", Pro-ceedings of the International Symposium on Software Reliability Engineering (2003)
- J. Larus, "Whole Program Paths", In Proc. SIGPLAN PLDI 99, pp.1~11 (1999), ACM
- A. Orso, "An empirical comparison of dynamic impact analysis algorithms", Proceedings of the International Conference on Software Engineering, pp.491~500 (2004)
- T. Apiwattanapong, "Efficient and Precise Dynamic Impact analysis using Execute-After Sequences", Proceeding of ACM- International Conference on Software Engineering (ICSE) (2005)
- L. Huang, "Dynamic Impact Analysis Using Execution Profile Tracing", Proceedings of the Fourth International Conference on Software Engineering Research, Management and Applications (SERA) (2006)
- M. Sherriff, "Empirical Software Change Impact Analysis using Singular Value De-composition", Proceedings of 1st IEEE International Conference on Software Testing, Verification, and Validation (ICST) (2008)
- M. Ceccarelli, "An Eclectic Approach for Change Impact Analy-sis", Proceedings of International Conference on Software Engineering (ICSE) (2010)
- B. Breech, "A Comparison of Online and Dynamic Impact Analysis Algorithms", Proceedings in Ninth European Conference on Software Maintenance and Reengineering (CSMR'05) (2005)
- C. Gupta, "An Efficient Dynamic Impact Analysis using Definition and Usage Information", International Journal of Digital Content Technology and its Applications, 3(4), pp.112~115 (2009)
- C. Gupta, "DU-Regs: Online Dynamic Approach to Visualize Impact Analysis for Regression Testing", International Journal of Computer Applications, 1(19), pp.8~11 (2010)
- K.K. Aggarwal, "Software engineering, Third edition" (2008), New Age International Publishers
