GENOA: a customizable language- and front-end independent code analyzer
ICSE '92 Proceedings of the 14th international conference on Software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Design patterns for object-oriented software development
Design patterns for object-oriented software development
Reuse contracts: managing the evolution of reusable assets
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Law-governed regularities in object systems: part I: an abstract model
Theory and Practice of Object Systems
Law-governed regularities in object systems. Part 2: a concrete implementation
Theory and Practice of Object Systems
Facilitating Software Maintenance by Automated Detection of Constraint Violations
ICSM '93 Proceedings of the Conference on Software Maintenance
ASTLOG: a language for examining abstract syntax trees
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Encapsulating objects with confined types
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Obvious or not?: regulating architectural decisions using aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Generating Application Development Environments for Java Frameworks
GCSE '01 Proceedings of the Third International Conference on Generative and Component-Based Software Engineering
Specifying framework constraints with FCL
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
A pattern enforcing compiler (PEC) for Java: using the compiler
APCCM '05 Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling - Volume 43
Using SCL to Specify and Check Design Intent in Source Code
IEEE Transactions on Software Engineering
Encapsulating objects with confined types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
Hi-index | 0.00 |
Usually, programming languages are used according to conventions and rules. Although general rules can be enforced by lint-like tools, there is a large class of rules that cannot be built into such tools because they result from particular design decisions or the reuse of existing software. This paper presents a system, called CoffeeStrainer, that statically checks programmer-specified constraints on Java programs. Unlike previous approaches, which only support constraints that apply to definitions of types, CoffeeStrainer additionally supports a second class of constraints which apply to all uses of a type. Both classes of constraints play an important role for object-oriented class libraries and frameworks, which often make assumptions on their correct use.