The management of changing types in an object-oriented database
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Semantics and implementation of schema evolution in object-oriented databases
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Class modification in the GemStone object-oriented DBMS
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Beyond schema evolution to database reorganization
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Object-preserving class transformations
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Alcoa: the alloy constraint analyzer
Proceedings of the 22nd international conference on Software engineering
Alloy: a lightweight object modelling notation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Fork Algebras in Algebra, Logic and Computer Science
Fork Algebras in Algebra, Logic and Computer Science
New Type Checking Rules for OCL Expressions
Modellierung 2001, Workshop der Gesellschaft für Informatik e. V. (GI)
Transformation Rules for UML Class Diagrams
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
Semantics and Transformations for UML Models
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Reasoning with UML Class Diagrams
WIFT '98 Proceedings of the Second IEEE Workshop on Industrial Strength Formal Specification Techniques
Refactoring for generalization using type constraints
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
A type system for object models
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Algebraic reasoning for object-oriented programming
Science of Computer Programming - Special issue on program transformation
DynAlloy: upgrading alloy with actions
Proceedings of the 27th international conference on Software engineering
Refactoring Databases: Evolutionary Database Design
Refactoring Databases: Evolutionary Database Design
Reasoning about static and dynamic properties in alloy: A purely relational approach
ACM Transactions on Software Engineering and Methodology (TOSEM)
A rigorous approach for proving model refactorings
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
An Abstract Equivalence Notion for Object Models
Electronic Notes in Theoretical Computer Science (ENTCS)
Refactoring OCL annotated UML class diagrams
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
Synchronizing model and program refactoring
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
Hi-index | 0.00 |
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.