Harmless advice

Daniel S. Dantas, David Walker

Research output: Chapter in Book/Report/Conference proceedingConference contribution

41 Scopus citations

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.

Original languageEnglish (US)
Title of host publicationConference Record of POPL 2006
Subtitle of host publication33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
PublisherAssociation for Computing Machinery
Pages383-396
Number of pages14
ISBN (Print)1595930272, 9781595930279
DOIs
StatePublished - 2006
Event33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'06 - Charleston, SC, United States
Duration: Jan 11 2006Jan 13 2006

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Conference

Conference33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'06
Country/TerritoryUnited States
CityCharleston, SC
Period1/11/061/13/06

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • Aspect-oriented
  • Aspects
  • Harmless Advice
  • Noninterference

Fingerprint

Dive into the research topics of 'Harmless advice'. Together they form a unique fingerprint.

Cite this