A Static Semantics for Alloy and its Impact in Refactorings

  • Authors:
  • Rohit Gheyi;Tiago Massoni;Paulo Borba

  • Affiliations:
  • Informatics Center, Federal University of Pernambuco, Recife, Brazil;Informatics Center, Federal University of Pernambuco, Recife, Brazil;Informatics Center, Federal University of Pernambuco, Recife, Brazil

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Refactorings are usually proposed in an ad hoc way because it is difficult to prove that they are sound with respect to a formal semantics, not guaranteeing the absence of type errors or semantic changes. Consequently, developers using refactoring tools must rely on compilation and tests to ensure type-correctness and semantics preservation, respectively, which may not be satisfactory to critical software development. In this paper, we formalize a static semantics for Alloy, which is a formal object-oriented modeling language, and encode it in Prototype Verification System (PVS). The static semantics' formalization can be useful for specifying and proving that transformations in general (not only refactorings) do not introduce type errors, for instance, as we show here.