DocumentCode
3144886
Title
An Automated Approach for Writing Alloy Specifications Using Instances
Author
Khurshid, Sarfraz ; Malik, M. Zaman ; Uzuncaova, Engin
Author_Institution
Univ. of Texas, Austin
fYear
2006
fDate
15-19 Nov. 2006
Firstpage
449
Lastpage
457
Abstract
We present aDeryaft, a novel technique for automating the writing of specifications in Alloy-a first-order relational logic with transitive closure. Alloy is particularly suitable for specifying structural properties of software, and has steadily been gaining popularity due to the rapid feedback that its SAT-based analyzer provides fully automatically. Alloy users however, still have to manually write specifications in a declarative language and use a paradigm that is different from the commonly used imperative programming paradigm. aDeryaft assists Alloy users in writing their specifications by providing a novel specification-writing approach, which is particularly tailored to users, such as engineers or practitioners in industry, who may not have much prior experience or proficiency in Alloy or similar logics. The user constructs by hand a few small concrete instances that represent the constraints of the software structure they want to specify. aDeryaft then fully automatically generates an executable Alloy specification, which represents the constraints that summarize the given structures. The generated specification is fully executable. For example, the Alloy Analyzer can use it to systematically enumerate a large number of concrete instances that satisfy the same constraints as the given instances. Indeed, a user may use aDeryaft to generate partial specifications while the user writes the rest of the specification by hand. To efficiently generate Alloy specifications, aDeryaft exploits the relational basis of Alloy and formulates graph properties that are likely to hold for the given instances. It then checks the properties for these instances and translates the valid properties into Alloy constraints, which it outputs as an Alloy specification. We illustrate aDeryaft´s constraint generation on a variety of commonly used data structures.
Keywords
computability; formal logic; formal specification; Alloy specification writing; SAT-based analyzer; aDeryaft; declarative language; first-order relational logic; graph properties; Application software; Automatic testing; Concrete; Data structures; Feedback; Logic programming; Logic testing; Software systems; Software testing; Writing;
fLanguage
English
Publisher
ieee
Conference_Titel
Leveraging Applications of Formal Methods, Verification and Validation, 2006. ISoLA 2006. Second International Symposium on
Conference_Location
Paphos
Print_ISBN
978-0-7695-3071-0
Type
conf
DOI
10.1109/ISoLA.2006.44
Filename
4463748
Link To Document