Aspect
- 1 April 1995
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 4 (2) , 109-145
- https://doi.org/10.1145/210134.210135
Abstract
Aspect is a static analysis technique for detecting bugs in imperative programs, consisting of an annotation language and a checking tool. Like a type declaration, an Aspect annotation of a procedure is a kind of declarative, partial specification that can be checked efficiently in a modular fashion. But instead of constraining the types of arguments and results, Aspect specifications assert dependences that should hold between inputs and outputs. The checker uses a simple dependence analysis to check code against annotations and can find bugs automatically that are not detectable by other static means, especially errors of omission, which are common, but resistant to type checking. This article explains the basic scheme and shows how it is elaborated to handle data abstraction and aliasing.Keywords
This publication has 20 references indexed in Scilit:
- QDA-a method for systematic informal program analysisIEEE Transactions on Software Engineering, 1994
- Interprocedural def-use associations for C systems with single level pointersIEEE Transactions on Software Engineering, 1994
- Interprocedural static analysis of sequencing constraintsACM Transactions on Software Engineering and Methodology, 1992
- A formal model of program dependences and its implications for software testing, debugging, and maintenanceIEEE Transactions on Software Engineering, 1990
- The cost of data flow testing: an empirical studyIEEE Transactions on Software Engineering, 1990
- Approximate reasoning about the semantic effects of program changesIEEE Transactions on Software Engineering, 1990
- Information-flow and data-flow analysis of while-programsACM Transactions on Programming Languages and Systems, 1985
- The program dependence graph in a software development environmentACM SIGPLAN Notices, 1984
- Dave—a validation error detection and documentation system for fortran programsSoftware: Practice and Experience, 1976
- Data Flow Analysis in Software ReliabilityACM Computing Surveys, 1976