Font Size: a A A

Designing and evaluating a tool to support program comprehension and evolution in AOSD

Posted on:2011-06-13Degree:Ph.DType:Thesis
University:University of California, IrvineCandidate:Ruengmee, WiwatFull Text:PDF
GTID:2468390011972242Subject:Information Science
Abstract/Summary:
In the past several years, the Aspect-Oriented Programming (AOP) paradigm has rapidly become a key component in modern software engineering. AOP serves as an engine to reduce complexity and increase reuse by providing an explicit mechanism for modularization of concerns, which crosscut software systems. In spite of the modularization benefits supported by AOP, different usability issues have hindered its adoption. The tight coupling between aspect definitions and base code definitions as well as the compile-time weaving mechanisms 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.;The thesis of this dissertation is that a development environment that presents both woven code (from an aspect) and base code in a single view can mitigate the cognitive load due to the separation of base code and aspect code, support visually semantic error detection and aspect-base code inconsistencies during software evolution, and significantly improve the usability of the AO programming model.;To validate the claims of this thesis, we have implemented the XE IDE as both a stand-alone tool and a DrScheme IDE plug-in. We have evaluated the XE IDE to validate our thesis with a series of analyses and user studies. We found that the XE IDE significantly improves the accuracy of programmers evolving code.
Keywords/Search Tags:XE IDE, Code, AOP, Aspect, Support, Evolution, Software
Related items