ACM Home Page
Please provide us with feedback. Feedback
Enforcing behavioral constraints in evolving aspect-oriented programs
Full text PdfPdf (865 KB)
Source Aspect-oriented software development archive
Proceedings of the 7th workshop on Foundations of aspect-oriented languages table of contents
Brussels, Belgium
Pages 19-28  
Year of Publication: 2008
ISBN:978-1-60558-110-1
Authors
Raffi Khatchadourian  Ohio State University, Columbus, OH
Johan Dovland  University of Oslo, Oslo, Norway
Neelam Soundarajan  Ohio State University, Columbus, OH
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 22,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1394496.1394499
What is a DOI?

ABSTRACT

Reasoning, specification, and verification of Aspect-Oriented (AO) programs presents unique challenges especially as such programs evolve over time. Components, base-code and aspects alike, may be easily added, removed, interchanged, or presently unavailable at unpredictable frequencies. Consequently, modular reasoning of such programs is highly attractive as it enables tractable evolution, otherwise necessitating that the entire program be reexamined each time a component is changed. It is well known, however, that modular reasoning about AO programs is difficult. In this paper, we present our ongoing work in constructing a relyguarantee style reasoning system for the Aspect-Oriented Programming (AOP) paradigm, adopting a trace-based approach to deal with the plug-n-play nature inherent to these programs, thus easing AOP evolution.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
J. Aldrich. Open modules: Modular reasoning about advice. In Eur. Conf. Object-Oriented Programming, 2005.
 
2
E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 2000.
 
3
C. Clifton and G. Leavens. Observers and assistants: A proposal for modular aspect-oriented reasoning. In Foundations of Aspect-Oriented Languages, 2002.
 
4
C. Clifton and G. Leavens. MiniMAO: Investigating the semantics of proceed. In Foundations of Aspect-Oriented Languages, 2005.
 
5
C. Clifton, G. Leavens, and J. Noble. Mao: Ownership and effects for more effective reasoning about aspects. In Eur. Conf. Object-Oriented Programming, 2007.
 
6
M. E. Conway. Design of a separable transition-diagram compiler. Commun. ACM, 1963.
 
7
D. Dantas and D. Walker. Harmless advice. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2006.
 
8
X. Deng, M. Dwyer, J. Hatcliff, and M. Mizuno. SyncGen: An AOP framework for synchronization. In Int. Conf. on Tools and Alg. for Construction and Analysis of Sys., 2004.
 
9
B. Devereux. Compositional reasoning about aspects using alternating-time logic. In Foundations of Aspect-Oriented Languages, 2003.
 
10
R. Filman and D. Friedman. Aspect-oriented programming is quantification and obliviousness. In Advanced Separation of Concerns, 2000.
 
11
M. Goldman and S. Katz. Modular generic verification of LTL properties for aspects. In Foundations of Aspect-Oriented Languages, 2006.
 
12
W. Griswold, K. Sullivan, Y. Song, M. Shonle, N. Tewari, Y. Cai, and H. Rajan. Modular software design with crosscutting interfaces. IEEE Software, 2006.
 
13
S. Gudmundson and G. Kiczales. Addressing practical software development issues in AspectJ with a pointcut interface. In Advanced Separation of Concerns, 2001.
 
14
T. A. Henzinger, S. Qadeer, and S. K. Rajamani. You assume, we guarantee: Methodology and case studies. In International Conference on Computer Aided Verification, 1998.
 
15
C. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.
 
16
D. Hoffman and R. Snodgrass. Trace specifications: Methodology and models. IEEE Transactions on Software Engineering, 1988.
 
17
R. Janicki and E. Sekerinski. Foundations of the trace assertion method of module interface specification. IEEE Transactions on Software Engineering, 2001.
 
18
C. B. Jones. Tentative steps toward a development method for interfering programs. ACM Transactions on Programming Languages and Systems, 1983.
 
19
R. Khatchadourian and N. Soundarajan. Rely-guarantee approach to reasoning about aspect-oriented programs. In Software Engineering Properties of Languages and Aspect Technologies, 2007.
 
20
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold. An overview of aspectj. In Eur. Conf. Object-Oriented Programming, 2001.
 
21
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect oriented programming. In Eur. Conf. Object-Oriented Programming, 1997.
 
22
G. Kiczales and M. Mezini. Aspect-oriented programming and modular reasoning. In International Conference on Software Engineering, 2005.
 
23
S. Krishnamurthi, K. Fisler, and M. Greenberg. Verifying aspect advice modularly. In ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2004.
 
24
R. Laddad. AspectJ in Action. Manning, 2003.
 
25
K. Lieberherr, D. Lorenz, and J. Ovlinger. Aspectual collaborations: Combining modules and aspects. The Computer Journal, 2003.
 
26
M. Lippert and C. Lopes. A study on exception detection and handling using AOP. In International Conference on Software Engineering, 2002.
 
27
R. Lopez-Herrejon, D. Batory, and C. Lengauer. A disciplined approach to aspect composition. In ACM SIGPLAN symposium on partial evaluation and semantics-based program manipulation, 2006.
 
28
J. Misra and K. Chandy. Proofs of networks of processes. IEEE Transactions on Software Engineering, 1981.
 
29
K. Ostermann. Aspects and modular reasoning in nonmonotonic logic. In Foundations of Aspect-Oriented Languages, 2007.
 
30
K. Ostermann. Reasoning about aspects with common sense. In Int. Conf. Aspect-Oriented Software Development, 2008.
 
31
K. Ostermann, M. Mezini, and C. Bockisch. Expressive pointcuts for increased modularity. In Eur. Conf. Object-Oriented Programming, 2005.
 
32
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 1976.
 
33
A. Rashid and R. Chitchyan. Persistence as an aspect. In Int. Conf. Aspect-Oriented Software Development, 2003.
 
34
M. Sihman and S. Katz. Superimpositions and aspect-oriented programming. The Computer Journal, 2003.
 
35
N. Soundarajan, R. Khatchadourian, and J. Dovland. Reasoning about the behavior of aspect-oriented programs. In IASTED Int. Conf. Softw. Eng. and Apps., 2007.
 
36
F. Steimann. The paradoxical success of aspect-oriented programming. In Conference on Object-Oriented Programming Systems, Languages, and Applications, 2006.
 
37
K. Sullivan, W. Griswold, Y. Song, Y. Cai, M. Shonle, N. Tewari, and H. Rajan. Information hiding interfaces for aspect-oriented design. In ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2005.
 
38
J. Xu, H. Rajan, and K. Sullivan. Aspect reasoning by reduction to implicit invocation. In Foundations of Aspect-Oriented Languages, 2004.
 
39
Q. Xu, W. de Roever, and J. He. Rely-guarantee method for verifying shared variable concurrent programs. Formal Aspects of Computing, 1997.

Collaborative Colleagues:
Raffi Khatchadourian: colleagues
Johan Dovland: colleagues
Neelam Soundarajan: colleagues