Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Extensions for multi-module records in conventional programming languages
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The design, implementation and evaluation of Jade: a portable, implicitly parallel programming language
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Consistency in Hierarchical Database Systems
Journal of the ACM (JACM)
The pointer assertion logic engine
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Using multidimensional separation of concerns to (re)shape evolving software
Communications of the ACM
Modular verification of collaboration-based software designs
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Dynamic weaving for aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Program Development in Java: Abstraction, Specification, and Object-Oriented Design
Program Development in Java: Abstraction, Specification, and Object-Oriented Design
Performance Analysis of Parallelizing Compilers on the Perfect Benchmarks Programs
IEEE Transactions on Parallel and Distributed Systems
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Semantics-Based Composition of Class Hierarchies
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
A semantics for advice and dynamic join points in aspect-oriented programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
A classification system and analysis for aspect-oriented programs
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Supporting distributed collaboration through multidimensional software configuration management
SCM'01/SCM'03 Proceedings of the 2001 ICSE Workshops on SCM 2001, and SCM 2003 conference on Software configuration management
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Generalized typestate checking for data structure consistency
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Hob: a tool for verifying data structure consistency
CC'05 Proceedings of the 14th international conference on Compiler Construction
cJ: enhancing java with safe type conditions
Proceedings of the 6th international conference on Aspect-oriented software development
Modular Pluggable Analyses for Data Structure Consistency
IEEE Transactions on Software Engineering
A practical and precise inference and specializer for array bound checks elimination
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Implications of a Data Structure Consistency Checking System
Verified Software: Theories, Tools, Experiments
An integrated proof language for imperative programs
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
An overview of the Jahob analysis system: project goals and current status
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Verification of semantic commutativity conditions and inverse operations on linked data structures
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Hob: a tool for verifying data structure consistency
CC'05 Proceedings of the 14th international conference on Compiler Construction
Tracking linear and affine resources with JAVA(X)
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
We present three aspect-oriented constructs (formats, scopes, and defaults) that, in combination with a specification language based on abstract sets of objects, enable the modular application of multiple arbitrarily precise (and therefore arbitrarily unscalable) analyses to scalably verify data structure consistency properties in sizable programs. Formats use a form of field introduction to group together the declarations of all of the fields that together comprise a given data structure. Scopes and defaults enable the developer to state certain data structure consistency properties once in a single specification construct that cuts across the preconditions and postconditions of the procedures in the system. Standard approaches, in contrast, scatter and duplicate such properties across the preconditions and postconditions. We have implemented a prototype implementation, specification, analysis, and verification system based on these constructs and used this system to successfully verify a range of data structure consistency properties in several programs.Most previous research in the field of aspect-oriented programming has focused on the use of aspect-oriented concepts in design and implementation. Our experience indicates that aspect-oriented concepts can also be extremely useful for specification, analysis, and verification.