Towards a fault model for AspectJ programs: step 1 -- pointcut faults
Proceedings of the 2nd workshop on Testing aspect-oriented programs
Testing techniques in software engineering
Testing techniques in software engineering
Hi-index | 0.00 |
Although program faults are widely studied, there aremany aspects of faults that we still do not understand, particularlyabout OO software. In addition to the simple factthat one important goal during testing is to cause failuresand thereby detect faults, a full understanding of the characteristicsof faults is crucial to several research areas. Thepower that inheritance and polymorphism brings to the expressivenessof programming languages also brings a numberof new anomalies and fault types. In prior work wepresented a fault model for the appearance and realizationof OO faults that are specific to the use of inheritance andpolymorphism. Many of these faults cannot appear unlesscertain syntactic patterns are used. The patterns are basedon language constructs, such as overriding methods thatdirectly define inherited state variables and non-inheritedmethods that call inherited methods. If one of these syntacticpatterns is used, then we say the software contains ananomaly and possibly a fault. This paper describes the syntacticpatterns for each OO fault type. These syntactic patternscan potentially be found with an automatic tool. Thus,faults can be uncovered and removed early in development.