TY - CHAP
T1 - Aspect categories and classes of temporal properties
AU - Katz, Shmuel
N1 - Funding Information:
The authors thank the Wright–Patterson Air Force Research Laboratories for supporting this research. They also thank Professor Gregory Rutledge of MIT, Dr Bruno Fanconi of NIST and Dr Bruce Eichinger of Accelrys for very helpful discussions and suggestions. Finally, they thank the reviewers for valuable suggestions and comments.
PY - 2006
Y1 - 2006
N2 - Generic categories of aspects are described, and their potential value is explained. For some categories, broad classes of syntactically identifiable temporal properties, such as safety, liveness, or existence properties, are guaranteed to hold for a system with any aspect of the category woven into it, if the property was true in the system without the aspect. Thus classes of properties preserved by the aspect are defined. Moreover, relatively simple verification techniques are shown to hold for some classes of temporal properties over systems augmented with some other categories of aspects. Verification of new properties added by the aspects is also considered. Each category is defined in terms of the semantic transformation it makes to the state graphs of underlying systems. A generic procedure to identify syntactically when an aspect belongs to a category is described and related to existing code analysis systems that use static code analysis and dataflow techniques. The definitions of categories, identification procedures, and lemmas about property classes provide the needed foundations that justify and motivate automatic code analysis modules to identify aspect categories. The categories enable simpler proofs of correctness than would otherwise be possible, and exploiting their characteristics can aid in software development.
AB - Generic categories of aspects are described, and their potential value is explained. For some categories, broad classes of syntactically identifiable temporal properties, such as safety, liveness, or existence properties, are guaranteed to hold for a system with any aspect of the category woven into it, if the property was true in the system without the aspect. Thus classes of properties preserved by the aspect are defined. Moreover, relatively simple verification techniques are shown to hold for some classes of temporal properties over systems augmented with some other categories of aspects. Verification of new properties added by the aspects is also considered. Each category is defined in terms of the semantic transformation it makes to the state graphs of underlying systems. A generic procedure to identify syntactically when an aspect belongs to a category is described and related to existing code analysis systems that use static code analysis and dataflow techniques. The definitions of categories, identification procedures, and lemmas about property classes provide the needed foundations that justify and motivate automatic code analysis modules to identify aspect categories. The categories enable simpler proofs of correctness than would otherwise be possible, and exploiting their characteristics can aid in software development.
KW - Aspect categories
KW - Aspect specification
KW - Aspect verification
KW - Dataflow analysis
KW - Invasive
KW - Regulative
KW - Spectative
UR - http://www.scopus.com/inward/record.url?scp=34247886486&partnerID=8YFLogxK
U2 - 10.1007/11687061_4
DO - 10.1007/11687061_4
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.chapter???
AN - SCOPUS:34247886486
SN - 3540329722
SN - 9783540329725
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 106
EP - 134
BT - Transactions on Aspect-Oriented Software Development I
ER -