Cecil: A Sequencing Constraint Language for Automatic Static Analysis Generation
IEEE Transactions on Software Engineering
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Towards Specifying Constraints for Object-Oriented Frameworks
Information Systems Frontiers
The grand challenge of Trusted Components
Proceedings of the 25th International Conference on Software Engineering
Specifying framework constraints with FCL
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
What Can Programmer Questions Tell Us About Frameworks?
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
Design fragments make using frameworks easier
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Checking semantic usage of frameworks
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Experiences documenting and preserving software constraints using aspects
Proceedings of the tenth international conference on Aspect-oriented software development companion
Hi-index | 0.00 |
Framework constraints are used to represent recommendations or restrictions on the use of the framework's primitives in a way that is amenable to automatic checking. The goal is to support the framework's users in making the best use of the framework without overwhelming the users with documentation. In this work, we show how we realized this goal using a small set of abstract framework constraints and a collection of heuristics. We took a real-life complex framework and extracted from its support history a set of framework constraints that we refined into five abstract framework constraints. We then developed heuristics to enable the easy specification and the automatic checking of instances of these constraints using a static analysis tool. The result is a system that allows one to define practical framework constraints and provides a mechanism to check them automatically in the user's code.