2005 · 53 citations · 3 references
ComputingComputer ScienceFormal MethodsSoftware EngineeringSystems ModelingModel CheckingModel TransformationModel-driven Software EngineeringSoftware ModelingSoftware RefactoringVerificationFormal ModelingModel RefactoringModel Transformation CorrectnessModel VerificationPrototype VerificationRefactoringRefactoring VerificationSystem Verification
Both model and program 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. In this paper, we propose guidelines on how to rigorously prove model refactorings for Alloy, a formal object-oriented modeling language. We use the Prototype Verification System (PVS) to specify and prove the soundness of the transformations. Proposing refactorings in this way can facilitate not only design, but also improve the quality of refactoring tools.
3
Daniel Jackson, Ilya Shlyakhter, Manu Sridharan · 2001 · 152 citations
A type system for object models
Jonathan Edwards, Daniel Jackson, Emina Torlak · 2004 · 32 citations