Behavioral validation of JFSL specifications through model synthesis
Proceedings of the 34th International Conference on Software Engineering
Synthesizing iterators from abstraction functions
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Managing trust and secrecy in identity management clouds
Proceedings of the 2012 ACM Workshop on Cloud computing security workshop
The geomorphic view of networking: a network model and its uses
Proceedings of the 7th Workshop on Middleware for Next Generation Internet Computing
Modelling and multi-objective optimization of quality attributes in variability-rich software
Proceedings of the Fourth International Workshop on Nonfunctional System Properties in Domain Specific Modeling Languages
Using automated model analysis for reasoning about security of web protocols
Proceedings of the 28th Annual Computer Security Applications Conference
Lazy generation of canonical test programs
IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
Feature interaction analysis of the feature-oriented requirements-modelling language using alloy
Proceedings of the Workshop on Model-Driven Engineering, Verification and Validation
Implementing QVT-R bidirectional model transformations using alloy
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Aluminum: principled scenario exploration through minimality
Proceedings of the 2013 International Conference on Software Engineering
Content over container: object-oriented programming with multiplicities
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
On the simplicity of synthesizing linked data structure operations
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Formal model-based validation for tally systems
Vote-ID'13 Proceedings of the 4th international conference on E-Voting and Identity
Dynamite: A tool for the verification of alloy models based on PVS
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
In Software Abstractions Daniel Jackson introduces an approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach--which Jackson calls "lightweight formal methods" or "agile modeling"--takes from formal specification the idea of a precise and expressive notation based on a tiny core of simple and robust concepts but replaces conventional analysis based on theorem proving with a fully automated analysis that gives designers immediate feedback. Jackson has developed Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions. This revised edition updates the text, examples, and appendixes to be fully compatible with the latest version of Alloy (Alloy 4). The designer can use automated analysis not only to correct errors but also to make models that are more precise and elegant. This approach, Jackson says, can rescue designers from "the tarpit of implementation technologies" and return them to thinking deeply about underlying concepts. Software Abstractions introduces the key elements: a logic, which provides the building blocks of the language; a language, which adds a small amount of syntax to the logic for structuring descriptions; and an analysis, a form of constraint solving that offers both simulation (generating sample states and executions) and checking (finding counterexamples to claimed properties).