2013 · 67 citations · 21 references
Software MaintenanceEngineeringVerificationSoftware EngineeringSoftware AnalysisFormal VerificationModel CompositionAutomated Software EngineeringData ConsistencyModel-based Software DevelopmentProgram TransformationScript GenerationConsistency-preserving Edit ScriptsComputer ScienceSoftware DesignCode RefactoringAutomated ReasoningProgram AnalysisSoftware TestingModel MaintenanceFormal MethodsModel EvolutionData Modeling
In model-based software development, models are iteratively evolved. To optimally support model evolution, developers need adequate tools for model versioning tasks, including comparison, patching, and merging of models. A significant disadvantage of tools currently available is that they display, and operate with, low-level model changes which refer to internal model representations and which can lead to intermediate inconsistent states. Higher-level consistency-preserving edit operations including refactorings are better suited to explain changes or to resolve conflicts. This paper presents an automatic procedure which transforms a low-level difference into an executable edit script which uses consistency-preserving edit operations only. Edit scripts support consistent model patching and merging on a higher abstraction level. Our approach to edit script generation has been evaluated in a larger real-world case study.
21
Refactoring improving the design of existing code
Mauricio A. Saca · 2017 · 2.1K citations
Software Maintenance, Software Development Practice, Engineering +17
Ernst Lippe, Norbert van Oosterom · 1992 · 169 citations