Development and application of a white box approach to integration testing
Journal of Systems and Software - Special issue on the fifth Minnowbrook workshop on software performance evaluation
Selecting Software Test Data Using Data Flow Information
IEEE Transactions on Software Engineering
An Applicable Family of Data Flow Testing Criteria
IEEE Transactions on Software Engineering
Test data selection criteria for (software) integration testing
ISCI '90 Proceedings of the first international conference on systems integration on Systems integration '90
Performing data flow testing on classes
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Aspect-oriented programming: Introduction
Communications of the ACM
Aspect-oriented programming with model checking
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
An experience on verification of aspect properties
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
A Formal Analysis of the Subsume Relation Between Software Test Adequacy Criteria
IEEE Transactions on Software Engineering
Modularisation and composition of aspectual requirements
Proceedings of the 2nd international conference on Aspect-oriented software development
Analysis of Programs with Exception-Handling Constructs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Data-Flow-Based Unit Testing of Aspect-Oriented Programs
COMPSAC '03 Proceedings of the 27th Annual International Conference on Computer Software and Applications
Proceedings of the 3rd international conference on Aspect-oriented software development
The Art of Software Testing
Theme: An Approach for Aspect-Oriented Analysis and Design
Proceedings of the 26th International Conference on Software Engineering
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Coverage testing of Java programs and components
Science of Computer Programming - Special issue on new software composition concepts
Testing aspect-oriented programming Pointcut Descriptors
Proceedings of the 2nd workshop on Testing aspect-oriented programs
Establishing structural testing criteria for Java bytecode
Software—Practice & Experience
The real costs of aspect-oriented programming
IEEE Software
Science of Computer Programming
Automatic Detection of Infinite Recursion in AspectJ Programs
FGIT '09 Proceedings of the 1st International Conference on Future Generation Information Technology
Automating the mutation testing of aspect-oriented Java programs
Proceedings of the 5th Workshop on Automation of Software Test
Testing techniques in software engineering
Testing techniques in software engineering
A pointcut-based coverage analysis approach for aspect-oriented programs
Information Sciences: an International Journal
Integration test of classes and aspects with a multi-evolutionary and coupling-based approach
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
Testing aspect-oriented programs with finite state machines
Software Testing, Verification & Reliability
Choices, choices: comparing between CHOC'LATE and the classification-tree methodology
Ada-Europe'12 Proceedings of the 17th Ada-Europe international conference on Reliable Software Technologies
Journal of Systems and Software
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
A critical review of various testing techniques in aspect-oriented software systems
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.01 |
Although it is claimed that, among other features, aspect-oriented programming (AOP) increases understandability and eases the maintenance burden, this technology cannot provide correctness by itself, and thus it also requires the use of systematic verification, validation and testing (VV&T) approaches. With the purpose of producing high quality software, many approaches to apply structural testing criteria for the unit testing of procedural and object-oriented (OO) programs have been proposed. Nevertheless, until now, few works have addressed the application of such criteria to test aspect-oriented programs. In this paper we define a family of control flow and data flow based testing criteria for aspect-oriented programs inspired by the implementation strategy adopted by AspectJ - an aspect-oriented extension of the Java language - and extending a previous work proposed for Java programs. We propose the derivation of a control and data flow model for aspect-oriented programs based upon the static analysis of the object code (the Java bytecode) resulted from the compilation/weaving process. Using this model, called aspect-oriented def-use graph (AODU), traditional and also aspect-oriented testing criteria are defined (called Control and Data Flow Structural Testing Criteria for Aspect-Oriented Programs - CDSTC-AOP). The main idea is that composition of aspect-oriented programs leads to new crosscutting interfaces in several modules of the system, which must be considered for coverage during structural testing. The implementation of a prototype tool - the JaBUTi/AJ tool - to support the proposed criteria and model is presented along with an example. Also, theoretical and practical questions regarding the CDSTC-AOP criteria are discussed.