• 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