Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Checking Framework Interactions with Relationships Ciera Jaspan and Jonathan Aldrich

Summary: Checking Framework Interactions with Relationships
Ciera Jaspan and Jonathan Aldrich
Institute for Software Research,
Carnegie Mellon University,
Pittsburgh PA 15213, USA
ciera@cmu.edu, jonathan.aldrich@cs.cmu.edu
Abstract. Software frameworks impose constraints on how plugins may interact
with them. Many of these constraints involve multiple objects, are temporal, and
depend on runtime values. Additionally, they are difficult to specify because they
are often extrinsic and may break behavioral subtyping. This work introduces
relationships as an abstraction for specifying framework constraints in FUSION
(Framework Usage SpecificatIONs), and it presents a formal description and im-
plementation of a static analysis to find constraint violations in plugin code. We
define three variants of this analysis: one is sound, one is complete, and a prag-
matic variant that balances these tradeoffs. We prove soundness and complete-
ness for the appropriate variants, and we show that the pragmatic variant can
effectively check constraints from real-world programs.
1 Introduction
Object-oriented frameworks have brought many benefits to software development, in-
cluding reusable codebases, extensible systems, and encapsulation of quality attributes.


Source: Aldrich, Jonathan - School of Computer Science, Carnegie Mellon University


Collections: Computer Technologies and Information Sciences