Advertisement

Change Impact Analysis: A Tool for Effective Regression Testing

  • Prem Parashar
  • Rajesh Bhatia
  • Arvind Kalia
Part of the Communications in Computer and Information Science book series (CCIS, volume 141)

Abstract

Change impact analysis is an imperative activity for the maintenance of software. It determines the set of modules that are changed and modules that are affected by the change(s). It helps in regression testing because only those modules that are either changed or affected by the suggested change(s) are re-tested. Change impact analysis is a complex activity as it is very difficult to predict the impact of a change in software. Different researchers have proposed different change impact analysis approaches that help in prioritization of test cases for regression testing. In this paper, an approach based on Total Importance of Module (TIM) has been proposed that determines the importance of a module on the basis of (i) user requirements, and (ii) system requirements. The results of the proposed algorithm showed that the importance of a module is an essential attribute in forming a prioritized test suite for regression testing.

Keywords

granularity prioritization maintenance change impact impact set 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Breech, B., Danalis, A., Shindo, S., Pollock, L.: Online impact analysis via dynamic compilation technology. In: ICSM 2004, September 11-14 (2004)Google Scholar
  2. 2.
    Chechik, M., Winnie, L., Nejati, S., Cabot, J., Diskin, Z., Eaterbrook, S., Sabetzadeh, M., Salay, R.: Relationship-based change propagation: a case study. In: MiSE 2009, May 17-18 (2009)Google Scholar
  3. 3.
    English, M., Exton, C., Rigon, I.: Fault detection and prediction in an open-source Software project. ACM, New York (2009)CrossRefGoogle Scholar
  4. 4.
    Engstrom, E., Skoglund, M., Runeson, P.: Empirical evaluation of regression test selection techniques: a systematic review. In: ESEM 2008, October 9-10 (2008)Google Scholar
  5. 5.
    German, D.M., Robles, G., Hassan, R.E.: Change impact graph: determining the impact of prior code changes. In: IEEE Working Conference on Source Code Analysis and Manipulation, SCAM (2008)Google Scholar
  6. 6.
    Kagdi, H.Z., Jonathan, I.M.: Software-change prediction: estimated+ actual. In: Proc. IEEE Workshop on Software Evolvability, pp. 38–43 (2006)Google Scholar
  7. 7.
    Ma, Z., Zhao, J.: Test case prioritization based on analysis of program structure. In: APSEC (2008)Google Scholar
  8. 8.
    Maia, C.L.B., Refael, A.F.D.C., Fabricio, G.D.F.: Automated test case prioritization with reactive GRASP. In: Advances in Software Engineering. Hindawi Publishing Corporation (2010)Google Scholar
  9. 9.
    Nadi, S., Holt, R., Davis, I., Mankovskii., S.: DRACA: decision support for root cause analysis and change impact analysis for CMDBs (2009)Google Scholar
  10. 10.
    Orso, A., Apiwattanapong, T., Law, J., Rothermel, G., Harrold, M.J.: Leveraging field data for impact analysis and regression testing. In: ESEC/FSE 2003, September 1-5 (2003)Google Scholar
  11. 11.
    Orso, A., Apiwattanapong, T., Law, J., Rothermel, G., Harrold, M.J.: An empirical comparison of dynamic impact analysis algorithms. In: ICSE 2004 (2004)Google Scholar
  12. 12.
    Park, S., Kim, H., Bae, D.H.: Change Impact analysis of a software process using process slicing. In: QSIC (2009)Google Scholar
  13. 13.
    Rajlich, V., Patrenko, M.: Variable granularity for improving precision of impact analysis. In: ICPC (2009)Google Scholar
  14. 14.
    Rao, A.A., Reddy, K.N.: Detecting bad smells in object oriented design using design Change propagation probability matrix. In: IMECS 2008, Hong Kong (March 2008)Google Scholar
  15. 15.
    Ryder, B.G., Ren, X., Shah, F., Tip, F., Chesley, O., Chianti, J.: A tool for change Impact analysis of java program. In: OOPSLA 2004, October 24-28 (2004)Google Scholar
  16. 16.
    Sanjeev, A.S.M., Wibowo, B.: Regression test selection based on version changes of components. In: Proceedings of APSEC 2003 (2003)Google Scholar
  17. 17.
    Sherriff, M., Lake, M., Williams, L.: Prioritization of regression tests using singular value decomposition with empirical change records. In: International Symposium on Software Reliability Engineering (November 2007)Google Scholar
  18. 18.
    Sherriff, M., Williams, L.: Empirical software change impact analysis using singular value decomposition. In: ICST (2008)Google Scholar
  19. 19.
    Tie, F., Maletic, J.I.: Applying dynamic change impact analysis in component-based Architecture design. In: ACIS International Conference on Software Engineering (2006)Google Scholar
  20. 20.
    Walcott, K.R., Kapfhammer, G.M., Soffa, M.L., Roos, R.S.: Time-aware test suite prioritization. In: Proceedings of ISSTA 2006, July 17-20 (2006)Google Scholar
  21. 21.
    Yoo, S., Harman, M.: Regression testing minimization, selection, and prioritization: a survey. Software Test. Verif. Reliab. (2007)Google Scholar
  22. 22.
    Yu, Z., Rajlich, V.: Hidden dependencies in program comprehension and change Propagation. In: IWPC (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Prem Parashar
    • 1
  • Rajesh Bhatia
    • 2
  • Arvind Kalia
    • 3
  1. 1.Computer Science DepartmentChitkara UniversityBarotiwalaIndia
  2. 2.Computer Science DepartmentThapar UniversityPatialaIndia
  3. 3.Computer Science DepartmentHimachal Pradesh UniversityShimlaIndia

Personalised recommendations