40 likes | 139 Views
Testing Aspect-Oriented Programs: Challenges and Opportunities. Jianjun Zhao Department of Computer Science and Engineering Shanghai Jiao Tong University zhao-jj@cs.sjtu.edu.cn. Aspect-Oriented Software Development (AOSD).
E N D
Testing Aspect-Oriented Programs: Challenges and Opportunities Jianjun Zhao Department of Computer Science and Engineering Shanghai Jiao Tong University zhao-jj@cs.sjtu.edu.cn IWFST'2005, Shanghai
Aspect-Oriented Software Development (AOSD) • AOSD is a new paradigm that supports separation of crosscutting concerns in software design and implementation • Explicit mechanisms for capturing the structure of crosscutting concerns in software systems • exception handling, synchronization, performance optimization, and resource sharing • Aspect-oriented languages and systems • AspectJ, hyper/J. composition filters, and adaptive method IWFST'2005, Shanghai
Why Testing Aspect-Oriented Programs? • The current research so far in AOSD is focused on problem analysis, software design, and implementation issues • Even though the important of software testing is known, it has received little attention in the aspect-oriented paradigm • Aspect-orientation does not provide correctness by itself • Aspect-oriented design and AOP language by no means shields against programmer’s mistakes or a lack of understanding of the specification • Software testing remains an important task even in AOSD IWFST'2005, Shanghai
Open Questions on Testing Aspect-Oriented Programs • How do we adequately test aspect-oriented programs? • How do we define testing criterions for aspect-oriented programs? • Are there ways to test aspects as units? • How do we test aspects that interact with a base program? • How do we test aspects that mutually interfere? • How do we test aspects whose effects must span more than one concern? • ... IWFST'2005, Shanghai