Bridging the Usability Gap in Aspect-Oriented Software Development
Project Abstract
In the last 10 years, Aspect-Oriented Software Development (AOSD) has gradually become a cornerstone in software engineering. It serves as an engine to reduce complexity and increase reuse by providing an explicit mechanism for modularization of concerns that crosscut software systems. In spite of the modularization benefits supported by the Aspect-Oriented Programming (AOP) paradigm, different usability issues have hindered its adoption. The tight coupling between aspect definitions and base code definitions as well as the compile-time weaving mechanism adopted by different AOP languages require developers to manage the consistency between base code and aspect code themselves during the course of software maintenance and evolution.
These mechanisms create opportunities for errors related to the invisibility of aspect weaving and the non-local control characteristics of AOP languages. In short, AOP developers lack adequate support for: (1) visualizing and identifying the exact points in the code where aspects are woven; (2) detecting aspect-base code inconsistencies; and (3) evolving aspect-oriented code in a coherent way. This paper describes XE (Extreme Editor), an IDE that supports developers in managing these issues in the functional AOP domain. XE is designed to aid in the understanding and evolution of aspect-oriented programs. It supports the ability to: (1) edit woven code and have the edits back-propagated to either the base or aspect code and (2) view the join point actually quantified by a given pointcut descriptor. We validate our approach through a case study showing how XE reduces the cognitive effort of developers in evolving AOP programs.
eXtreme Editor (XE) IDE
XE Main Screen
XE Change Manager
Publications
- Ruengmee, W., Silva Filho, R. S.,Bajracharya, S. K., Lopes, C. V., Redmiles, D. F. XE (eXtreme Editor) Bridging the Aspect-Oriented Programming Usability Gap. in Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE'08).
Technical Reports
- Wiwat Ruengmee, Roberto Silveira Silva Filho, Sushil Krishna Bajracharya, David F. Redmiles, Cristina Videira Lopes. XE (eXtreme Editor) - Tool Support for Evolution in Aspect-Oriented Programming. UCI-ISR-08-1.
Poster, Flyers, etc.
Researchers and Collaborators
Project Abstract
In the last 10 years, Aspect-Oriented Software Development (AOSD) has gradually become a cornerstone in software engineering. It serves as an engine to reduce complexity and increase reuse by providing an explicit mechanism for modularization of concerns that crosscut software systems. In spite of the modularization benefits supported by the Aspect-Oriented Programming (AOP) paradigm, different usability issues have hindered its adoption. The tight coupling between aspect definitions and base code definitions as well as the compile-time weaving mechanism adopted by different AOP languages require developers to manage the consistency between base code and aspect code themselves during the course of software maintenance and evolution.
These mechanisms create opportunities for errors related to the invisibility of aspect weaving and the non-local control characteristics of AOP languages. In short, AOP developers lack adequate support for: (1) visualizing and identifying the exact points in the code where aspects are woven; (2) detecting aspect-base code inconsistencies; and (3) evolving aspect-oriented code in a coherent way. This paper describes XE (Extreme Editor), an IDE that supports developers in managing these issues in the functional AOP domain. XE is designed to aid in the understanding and evolution of aspect-oriented programs. It supports the ability to: (1) edit woven code and have the edits back-propagated to either the base or aspect code and (2) view the join point actually quantified by a given pointcut descriptor. We validate our approach through a case study showing how XE reduces the cognitive effort of developers in evolving AOP programs.
eXtreme Editor (XE) IDE
XE Main Screen
XE Change Manager
Publications
- Ruengmee, W., Silva Filho, R. S.,Bajracharya, S. K., Lopes, C. V., Redmiles, D. F. XE (eXtreme Editor) Bridging the Aspect-Oriented Programming Usability Gap. in Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE'08).
Technical Reports
- Wiwat Ruengmee, Roberto Silveira Silva Filho, Sushil Krishna Bajracharya, David F. Redmiles, Cristina Videira Lopes. XE (eXtreme Editor) - Tool Support for Evolution in Aspect-Oriented Programming. UCI-ISR-08-1.
