The Z notation: a reference manual
The Z notation: a reference manual
Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Documenting frameworks using patterns
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Hooking into object-oriented application frameworks
ICSE '97 Proceedings of the 19th international conference on Software engineering
Frameworks = (components + patterns)
Communications of the ACM
Role model based framework design and integration
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Alloy: a lightweight object modelling notation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Parametric shape analysis via 3-valued logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards specifying constraints for object-oriented frameworks
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
Responsibilities and Rewards: Specifying Design Patterns
Proceedings of the 26th International Conference on Software Engineering
Implementing protocols via declarative event patterns
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Deriving object typestates in the presence of inter-object references
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
Design fragments make using frameworks easier
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Using SCL to Specify and Check Design Intent in Source Code
IEEE Transactions on Software Engineering
Modular typestate checking of aliased objects
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Generalized typestate checking for data structure consistency
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
A staged static program analysis to improve the performance of runtime monitoring
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Typestate-like analysis of multiple interacting objects
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Checking framework interactions with relationships
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Practical framework constraints
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Checking Framework Interactions with Relationships
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Hi-index | 0.00 |
Software frameworks are difficult for plugin developers to use, even when they are well designed and documented. Some of these difficulties stem from the many constraints that frameworks impose on plugin code. These constraints might restrict operations from being called on certain objects, or they might restrict how long an object is available. Additionally, the constraints are relative to the current context of the plugin, and they can involve multiple, interacting framework objects. This paper proposes a lightweight specification system and analysis to check plugins from a semantic perspective, rather than a purely structural view.