ACM Home Page
Please provide us with feedback. Feedback
Harmless advice
Full text PdfPdf (258 KB)
Source Annual Symposium on Principles of Programming Languages archive
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, USA
Pages: 383 - 396  
Year of Publication: 2006
ISBN:1-59593-027-2
Also published in ...
Authors
Daniel S. Dantas  Princeton University
David Walker  Princeton University
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 66,   Citation Count: 12
Additional Information:

abstract   references   cited by   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/1111037.1111071
What is a DOI?

ABSTRACT

This paper defines an object-oriented language with harmless aspect-oriented advice. A piece of harmless advice is a computation that, like ordinary aspect-oriented advice, executes when control reaches a designated control-flow point. However, unlike ordinary advice, harmless advice is designed to obey a weak non-interference property. Harmless advice may change the termination behavior of computations and use I/O, but it does not otherwise influence the final result of the mainline code. The benefit of harmless advice is that it facilitates local reasoning about program behavior. More specifically, programmers may ignore harmless advice when reasoning about the partial correctness properties of their programs. In addition, programmers may add new pieces of harmless advice to pre-existing programs in typical "after-the-fact" aspect-oriented style without fear they will break important data invariants used by the mainline code.In order to detect and enforce harmlessness, the paper defines a novel type and effect system related to information-flow type systems. The central technical result is that well-typed harmless advice does not interfere with the mainline computation. The paper also presents an implementation of the language and a case study using harmless advice to implement security policies.


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 European Conference on Object-Oriented Programming, pages 144--168, July 2005.
2
 
3
C. Clifton and G. T. Leavens. Observers and assistants: A proposal for modular aspect-oriented reasoning. In Foundations of Aspect Languages, Apr. 2002.
4
5
6
 
7
 
8
 
9
 
10
D. Evans and A. Twyman. Flexible policy-directed code safety. In IEEE Security and Privacy, Oakland, CA, May 1999.
 
11
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In R. E. Filman, T. Elrad, S. Clarke, and M. Akşit, editors, Aspect-Oriented Software Development, pages 21--35. Addison-Wesley, Boston, 2005.
 
12
 
13
List of main users. AspectJ Users List: aspectj-users@eclipse.org, June 2004. Requires subscription to access archives.
 
14
R. Jagadeesan, A. Jeffrey, and J. Riely. A calculus of typed aspect-oriented programs. Unpublished manuscript., 2003.
 
15
R. Jagadeesan, A. Jeffrey, and J. Riely. A calculus of untyped aspect-oriented programs. In European Conference on Object-Oriented Programming, Darmstadt, Germany, July 2003.
 
16
S. Katz. Diagnosis of harmful aspects using regression verification. In Foundations of Aspect-Oriented Languages, Mar. 2004.
 
17
18
 
19
M. Kim, M. Viswanathan, H. Ben-Abdallah, S. Kannan, I. Lee, and O. Sokolsky. Formally specified monitoring of temporal properties. In European Conference on Real-time Systems, York, UK, June 1999.
20
 
21
K. J. Lieberherr, D. Lorenz, and J. Ovlinger. Aspectual collaborations -- combining modules and aspects. The Computer Journal, 46(5):542--565, September 2003.
 
22
H. Masuhara, G. Kiczales, and C. Dutchyn. Compilation semantics of aspect-oriented programs. In G. T. Leavens and R. Cytron, editors, Foundations of Aspect-Oriented Languages Workshop, pages 17--25, Apr. 2002.
23
 
24
J. Ovlinger. Modular Programming with Aspectual Collaborations. PhD thesis, Northeastern University, 2003.
25
26
 
27
A. Sabelfeld and A. C. Myers. Language-based information-flow security. IEEE Journal on Selected Areas in Communications, 21(1), 2003., 21(1):5--19, 2003.
28
29
30
31

CITED BY  12
 

Collaborative Colleagues:
Daniel S. Dantas: colleagues
David Walker: colleagues