Spekl: A Layered System for Specification Authoring, Sharing, and Usage

Compositional reuse of software libraries is important for productivity. To promote reliability and correctness, the field also needs a way to compose specifications for reuse. How-ever, specifications cannot be adapted by the use of wrappers in the same ways as code can, which leads to specifications being copied and modified. This copying and modification of specifications leads to poor maintainability and technical debt. We propose a system, Spekl, that solves these problems and makes compositional reuse of specifications possible in a way independent of the choice of specification languages and tools.

[1]  Frank S. de Boer,et al.  OpenJDK's Java.utils.Collection.sort() Is Broken: The Good, the Bad and the Worst Case , 2015, CAV.

[2]  Luqi,et al.  Formal Methods: Promises And Problems , 1997, IEEE Softw..

[3]  Roberto Di Cosmo,et al.  Broken sets in software repository evolution , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[4]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[5]  Dan Craigen,et al.  Formal Methods Adoption: What's Working, What's Not! , 1999, SPIN.

[6]  Sorin Lerner,et al.  OPIUM: Optimal Package Install/Uninstall Manager , 2007, 29th International Conference on Software Engineering (ICSE'07).

[7]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

[8]  Albert L. Baker,et al.  Preliminary design of JML: a behavioral interface specification language for java , 2006, SOEN.

[9]  Anindya Banerjee,et al.  Expressive Declassification Policies and Modular Static Enforcement , 2008, 2008 IEEE Symposium on Security and Privacy (sp 2008).

[10]  Brian Huffman,et al.  SAW: the software analysis workbench , 2013, HILT.

[11]  Michael D. Ernst,et al.  Collaborative Verification of Information Flow for a High-Assurance App Store , 2014, Software Engineering & Management.

[12]  Duncan Coutts,et al.  Haskell: batteries included , 2008, Haskell '08.

[13]  Mikolás Janota,et al.  Towards efficient optimization in package management systems , 2014, ICSE.

[14]  Isaac Jones,et al.  The Haskell Cabal A Common Architecture for Building Applications and Libraries , 2005 .