A Change Impact Analysis Model for Aspect Oriented Programs

Fabrice Déhoulé, Linda Badri, Mourad Badri

2017

Abstract

Software change impact analysis (IA) plays a crucial role in software evolution. IA aims at identifying the possible effects of a source code modification. It is often used to evaluate the effects of a change after its implementation. However, more proactive approaches use IA to predict the potential effects of a change before it is implemented. In this way, IA provides useful information that can be used, among others, to guide the implementation of the change and to support regression tests selection. This paper aims at proposing a change impact analysis model for AspectJ programs. Aspect-Oriented Programming (AOP) is a natural extension of Object-Oriented Programming (OOP). It particularly promotes improved separation of crosscutting concerns into single units called aspects. The IA techniques proposed for object-oriented programs are not directly applicable for aspect-oriented programs due to the new dependencies introduced by aspects. The proposed model was designed to particularly support predictive IA. The model includes several impact rules based on the AspectJ language constructs. We performed an empirical evaluation of the model using several AspectJ programs. In order to assess the model prediction quality, we used two traditional measures: precision and recall. The reported results show that the model is able to achieve high accuracy.

References

  1. Abdi M.K, Lounis H. and Sahraoui H., 2007: Analyse et prédiction de l'impact de changements dans un système à objets : Approche probabiliste. In proceedings of LMO 2009.
  2. Abran A., April A., Dumke R., 2004: SMCMM Model to Evaluate and Improve the Quality of the Software Maintenance Process, 8th European Conference on Software Maintenance and Reengineering.
  3. Acharya M., Robinson B., 2012: Practical Change Impact Analysis Based on Static Program Slicing for Industrial Software Systems, SIGSOFT'12/FSE-20, ACM, November 11-16, Cary, NC, USA.
  4. Ackermann C., Lindvall M., 2006: Understanding Change Requests to Predict Software Impact, 30th Annual IEEE/NASA Software Engineering Workshop, pages 66 - 75, Columbia, MD, USA.
  5. Aggarwal K.K., Singh Y. and Chhabra J.K., 2002: An integrated measure of software maintainability, Proceedings of the 2002 Reliability and Maintainability Symposium, pp. 235-241.
  6. Ali H.O., Abd Rozan M.Z.A., Sharif A.M., 2012: Identifying Challenges of Change Impact analysis for software projects, International Conference on Innovation Management and Technology Research, pages 407-411.
  7. Arnold R.S. and Bohner S.A., 1993: Impact analysis - towards a framework for comparison, In Proceedings of the International Conference on Software maintenance (CSM 7893), pp. 292-301, Canada.
  8. Badri L., Badri M., and St-Yves D., 2005: Supporting Predictive Change Impact Analysis: A Control Call Graph Based Technique, In Proceedings of the 12th Asia-Pacific Software Engineering Conference (Apsec'05) - APSEC. IEEE Computer Society, 167- 175.
  9. Badri L., Badri M., Joly N., 2015: Towards a Change Impact Analysis Model for Java Programs: An Empirical Evaluation, Journal of Software, vol. 10, no. 4, pp. 441-453.
  10. Baggen R., Correia J. P., Schill K and Visser J, 2011: Standardized code quality benchmarking for improving software maintainability, Software Quality Journal - © Springer Science+Business Media.
  11. Barros S., Bodhun Th., Escudie A., and Voidrot J.P., 1995: Supporting Impact Analysis: A semi-automated technique and associated tool, Proceedings of the 1995 IEEE Conference on Software Maintenance, pp. 42- 51, Piscataway, NJ.
  12. Bennett K. and Rajlich V., 2000: Software maintenance and evolution: a roadmap, in Proceedings of the Conference on the Future of Software Engineering, pp. 73-87, ACM, New York, NY, USA.
  13. Bernardi M. L., Di Lucca G. A., Ceccato M., 2009: Workshop on Maintenance of Aspect Oriented Systems, 13th European Conference on Software Maintenance Reengineering, pages 273-274, Kaiserslautern, Germany.
  14. Bernardi M.L., Di Lucca G.A, 2007: An Interprocedural Aspect Control Flow Graph to Support the Maintenance of Aspect Oriented Systems. IEEE International Conference on Software Maintenance, pages 435-444, Paris, France.
  15. Bohner S.A. and Arnold R., 1996: Software Change Impact Analysis, IEEE Computer Society Press, Los Alamitos, CA, USA.
  16. Briand L.C., Wust J., and Lounis H., 1999: Using coupling measurement for impact analysis in object-oriented systems, Proceedings of the IEEE International Conference on Software Maintenance (ICSM 7899), pp. 475 - 482.
  17. Burrows R., Ferrari F. C., Lemos O. A.L., Garcia A., Taïani F., 2010: The Impact of Coupling on the FaultProneness of Aspect-Oriented Programs: An Empirical Study, IEEE 21st International Symposium on Software Reliability Engineering, pages 329-338, San Jose, CA, USA.
  18. Chaumun M. A., Kabaili H, Keller R. K., Lustman F. and Saint-Denis G., 2000: Design properties and objectoriented software changeability, in Proceedings of the Fourth Euromicro Working Conference on Software Maintenance and Reengineering, pages 45-54, Zurich, Switzerland, IEEE.
  19. Chaumun M. A., Kabaili H., Keller R. K. and Lustman F., 2002: A change impact model for changeability assessment in object-oriented software systems, Science of Computer Programming, Volume 45, Issues 2-3, pp. 155-174.
  20. Cho H., Gray J., Cai Y, Wong S. and Xie T., 2011: ModelDriven Impact Analysis of Software Product Lines, in Model-Driven Domain Analysis and Software Development: Architectures and Functions, Chapter 13, IGI Global.
  21. Déhoulé F., 2014: Analyse de l'impact dans les systèmes orientés aspect (SOA) : Élaboration d'un modèle d'impact, M. Sc., Université du Québec à TroisRivières, Québec, Canada.
  22. Dong Z., 2011: Aspect Oriented Programming Technology And The Strategy Of Its Implementation, International Conference on Intelligence Science and Information Engineering, pages 457-460, Wuhan, Chine.
  23. Ebert C., and De Man, J., 2005: Requirements uncertainty: Influencing factors and concrete improvements, Proceedings of the 27th International Conference on Software Engineering.
  24. Gethers M., Poshyvanyk D., 2010: Using relational topic models to capture coupling among classes in objectoriented software systems, In Proceedings of the 2010 IEEE International Conference on Software Maintenance, pp. 1-10.
  25. Gradecki J. D., Lesiecki N., 2003: Mastering AspectJ, Aspect Oriented Programming in Java. Indianapolis, Indiana, USA.
  26. Grubb P., Takang A. A., 2003: Software Maintenance: Concepts and Practice, Publisher: World Scientific Publishing Company. ISBN: 9812384251.
  27. Harrold M. J., Jones J. A., Li T. et al., 2001: Regression test selection for Java software, in Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 7801).
  28. Hunt B., Turner B., McRitchie K., 2008: Software Maintenance Implications on Cost and Schedule, Aerospace Conference, Big Sky, MT.
  29. Joly N., 2010: Towards a Change Impact Analysis Model for Java Programs: An Empirical Evaluation, Mémoire de maîtrise, Université du Québec à Trois-Rivières, Canada.
  30. Kabaili H, Keller R. K. and Lustman F., 2001: A change impact model encompassing ripple effect and regression testing, in Proceedings of the Fifth International Workshop on Quantitative Approaches in Object-Oriented Software Engineering, pages 25-33, Budapest, Hungary, June.
  31. Kiczales G., Hilsdale E., Hugunin J., Kersten M., Palm J., and Griswold W. G., 2001: An Overview of AspectJ, In J. Lindskov Knudsen, editor, European Conference on Object-oriented Programming, volume 2072 of Lecture Notes in Computer Science, pages 327-353. Springer.
  32. Kilpinen M., 2008: The Emergence of Change at the Systems Engineering and Software Design Interface - An Investigation of Impact Analysis, PhD thesis, Cambridge University, Engineering Department.
  33. Kumar A., Kumar R., Grover P.S., 2007: An Evaluation of Maintainability of Aspect-Oriented Systems: a Practical Approach, International Journal of Computer Science and Security (IJCSS), Pages - 1 - 9, Kuala Lumpur, Malaysia.
  34. Kung D. C., Gao J., Hsia P., Lin J., and Toyoshima Y., 1995: Class firewall, test order, and regression testing of object-oriented programs, Journal of ObjectOriented Programming, vol. 8, no. 2, pp. 51-65.
  35. Law J., Rothermel G., 2003: Whole Program Path-Based Dynamic Impact Analysis, Proc. of the International Conference on Software Engineering, pp. 308-318.
  36. Lee M, Offutt A. J. and Alexander R. T., 2000: Algorithmic Analysis of the Impacts of Changes to Object-Oriented Software, 34th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS USA 7800), pages 61- 70, Santa Barbara, CA, August.
  37. Lehman M. M., 1980: On Understanding Laws, Evolution, and Conservation in the Large-Program Life Cycle, Journal of Systems and Software, vol. 1, no. 3.
  38. Lehman M. M., Ramil J. F., Wernick P. D., Perry P. E., and Turski W. M., 1997: Metrics and Laws of Software Evolution - The Nineties View, Proceedings of the 4th International Software Metrics Symposium, pp. 20-32.
  39. Lehnert S., 2011: A Taxonomy for Software Change Impact Analysis, IWPSE-EVOL'11, September 5-6, Szeged, Hungary, ACM.
  40. Li W. and Henry S., 1995: Maintenance support for object-oriented programs, The Journal of Software Maintenance, Research and Practice, 7(2):131-147, March-April.
  41. Li B., Sun X., Leung H. and Zhang S., 2012: A survey of code-based change impact analysis techniques, Software testing, Verification and Reliability; 23:613- 646, Wiley Online Library.
  42. Li L. and Offutt A. J., 1996: Algorithmic analysis of the impact of changes to object-oriented software, Proceedings of the IEEE International Conference on Software Maintenance, CA, USA, pp 171-184.
  43. Mens T., Fernandez-Ramil J., and Degrandsart S., 2008: The Evolution of Eclipse, Proceedings of the IEEE International Conference on Software Maintenance (ICSM), pp. 386-395.
  44. Orso A., Apiwattanapong T., and Harrold M.J., 2003: Leveraging field data for impact analysis and regression testing, Proceedings of the European Software Engineering Conference, and ACM SIGSOFT Symposium on the foundations of software Engineering (ESEC/FSE'03), Helsinki, Finland.
  45. Orso A., Apiwattanapong T., J. Law, Rothermel G., and Harrold M.J., 2004: An Empirical Comparison of Dynamic Impact Analysis Algorithms, Proceedings of the International Conference on Software Engineering (ICSE'04), pp. 491-500, Edinburg, Scotland.
  46. Petrenko M., Rajlich V., 2009: Variable granularity for improving precision of impact analysis, Proceedings of the International Conference on Program Comprehension, pp. 10-19.
  47. Przybylek A., 2011: Impact of aspect-oriented programming on software modularity, 15th European Conference on Software Maintenance and Reengineering, pages 369-372, Oldenbourg, Allemagne, 1-4.
  48. Ren X., Shah F., Tip F., Ryder B. G. and Chesley O., 2004: Chianti: A tool for change Impact analysis of Java Programs, OOPSLA'04. Proceedings of the 19th annual ACM SIGPLAN Conference on ObjectOriented Programming, Systems, Languages, and Applications.
  49. Riaz M., Mendes E. and Tempero E., 2009: A systematic review of software maintainability prediction and metrics, Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement.
  50. Rothermel G. and Harrold M. J., 1996: Analyzing regression test selection techniques, IEEE Transactions on Software Engineering, vol. 22, no. 8, pp. 529-551.
  51. Rothermel G. and Harrold M. J., 1997: A safe, efficient regression test selection technique, ACM Transactions on Software Engineering and Methodology, vol. 6, no. 2.
  52. Ryder B. G. and Tip F., 2001: Change Impact Analysis for object-Oriented Programs. In ACM SIGPLANSIGSOFT.
  53. Sabbah D., 2004: From Promise to Reality, Proceedings of the 3rd international conference on Aspect-oriented software development (AOSD'04).
  54. Shinomi I., Tamai T., 2005: Impact Analysis of Weaving in Aspect-Oriented Programming, Proceedings of the 21st IEEE International Conference on Software Maintenance, pages 357-660.
  55. Störzer M., 2007: Impact Analysis for AspectJ, A Critical Analysis and Tool-Based Approach to AOP, Dissertation, Passau.
  56. St-Yves D., 2007: Dépendances et gestion des modifications dans les systèmes orientés objet: utilisation des graphes de contrôle, Thèse de maîtrise, Université du Québec à Trois-Rivières, Canada.
  57. Sun X., Leung H., Li B., Li B., 2014: Change impact analysis and changeability assessment for change proposal: An empirical study, Journal of Systems and Software, 96, pp. 51-60, Elsevier.
  58. Sun X., Li B., Tao C., Wen W., Zhang S., 2010: Change Impact Analysis Based on a Taxonomy of Change Types, 2010 IEEE 34th Annual Computer Software and Applications Conference, pages 373-382, Seoul.
  59. Yau S.S., Collofello J. S., 1980: Some Stability Measures for software maintenance. IEEE Transactions on Software Engineering, 6(6): pp. 545-552.
  60. Zhang S, Gu Z, Lin Y, Zhao J., 2008: Change Impact Analysis for AspectJ Programs, IEEE International Conference on Software Maintenance, pages 87-96, Beijing.
  61. Zhao J., 2002: Change Impact Analysis for AspectOriented Software Evolution, Proceedings of the International Workshop on Principles of Software Evolution, New York, NY, USA.
  62. Zhao J., 2004: Measuring Coupling in Aspect-Oriented Systems, Information Processing Society of Japan (IPSJ), pages 14-15, Japon.
  63. Zhou X., Jiang Y., Wang H., 2011: Method on change Impact Analysis for Object-oriented Program, 2011 Fourth International Conference on Intelligent Network and Intelligent Systems, IEEE.
  64. Zimmermann T., Zeller M.A., Weissgerber, P., Diehl, S., 2005: Mining version histories to guide software changes. IEEE Transactions on Software Engineering, 31 (6), pp. 429-445.
Download


Paper Citation


in Harvard Style

Déhoulé F., Badri L. and Badri M. (2017). A Change Impact Analysis Model for Aspect Oriented Programs . In Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-250-9, pages 144-157. DOI: 10.5220/0006350701440157


in Bibtex Style

@conference{enase17,
author={Fabrice Déhoulé and Linda Badri and Mourad Badri},
title={A Change Impact Analysis Model for Aspect Oriented Programs},
booktitle={Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2017},
pages={144-157},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006350701440157},
isbn={978-989-758-250-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - A Change Impact Analysis Model for Aspect Oriented Programs
SN - 978-989-758-250-9
AU - Déhoulé F.
AU - Badri L.
AU - Badri M.
PY - 2017
SP - 144
EP - 157
DO - 10.5220/0006350701440157