Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Symbolic execution and program testing
Communications of the ACM
Aspect-oriented programming with adaptive methods
Communications of the ACM
Composing crosscutting concerns using composition filters
Communications of the ACM
Software Testing Techniques
The Java Programming Language
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A case for statically executable advice: checking the law of demeter with AspectJ
Proceedings of the 2nd international conference on Aspect-oriented software development
Testing with Respect to Concerns
ICSM '03 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
A Dynamic Runtime Coupling Metric for Meta-Level Architectures
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Test input generation with java PathFinder
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Rostra: A Framework for Detecting Redundant Object-Oriented Unit Tests
Proceedings of the 19th IEEE international conference on Automated software engineering
Measuring the dynamic behaviour of AspectJ programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A classification system and analysis for aspect-oriented programs
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
JCrasher: an automatic robustness tester for Java
Software—Practice & Experience
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Aspect language features for concern coverage profiling
Proceedings of the 4th international conference on Aspect-oriented software development
Distributing classes with woven concerns: an exploration of potential fault scenarios
Proceedings of the 4th international conference on Aspect-oriented software development
Symstra: a framework for generating object-oriented unit tests using symbolic execution
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
A regression tests selection technique for aspect-oriented programs
Proceedings of the 2nd workshop on Testing aspect-oriented programs
Towards regression test selection for AspectJ programs
Proceedings of the 2nd workshop on Testing aspect-oriented programs
APTE: automated pointcut testing for AspectJ programs
Proceedings of the 2nd workshop on Testing aspect-oriented programs
Perspectives on automated testing of aspect-oriented programs
Proceedings of the 3rd workshop on Testing aspect-oriented programs
Generation of test requirements from aspectual use cases
Proceedings of the 3rd workshop on Testing aspect-oriented programs
Regression Test Selection for AspectJ Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Proceedings of the 7th international conference on Aspect-oriented software development
Regression test selection when evolving software with aspects
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
Automated test data generation for aspect-oriented programs
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Unweaving the impact of aspect changes in AspectJ
Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
XFindBugs: eXtended FindBugs for AspectJ
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Effective identification of failure-inducing changes: a hybrid approach
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Unit Testing for Domain-Specific Languages
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
An exploratory study of fault-proneness in evolving aspect-oriented programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Information Sciences: an International Journal
Rigorous fault tolerance using aspects and formal methods
Rigorous Development of Complex Fault-Tolerant Systems
Testing aspect-oriented programs with finite state machines
Software Testing, Verification & Reliability
Reducing test effort: A systematic mapping study on existing approaches
Information and Software Technology
A constraint-weaving approach to points-to analysis for AspectJ
Frontiers of Computer Science: Selected Publications from Chinese Universities
Hi-index | 0.00 |
Aspect-oriented software development is gaining popularity with the wider adoption of languages such as AspectJ. To reduce the manual effort of testing aspects in AspectJ programs, we have developed a framework, called Aspectra, that automates generation of test inputs for testing aspectual behavior, i.e., the behavior implemented in pieces of advice or intertype methods defined in aspects. To test aspects, developers construct base classes into which the aspects are woven to form woven classes. Our approach leverages existing test-generation tools to generate test inputs for the woven classes; these test inputs indirectly exercise the aspects. To enable aspects to be exercised during test generation, Aspectra automatically synthesizes appropriate wrapper classes for woven classes. To assess the quality of the generated tests, Aspectra defines and measures aspectual branch coverage (branch coverage within aspects). To provide guidance for developers to improve test coverage, Aspectra also defines interaction coverage. We have developed tools for automating Aspectra's wrapper synthesis and coverage measurement, and applied them on testing 12 subjects taken from a variety of sources. Our experience has shown that Aspectra effectively provides tool supports in enabling existing test-generation tools to generate test inputs for improving aspectual branch coverage.