Abstract
Models in Model-driven Engineering are primary development artifacts that are heavily edited in all stages of software development and that can become temporarily inconsistent during editing. In general, there are many alternatives to resolve an inconsistency, and which one is the most suitable depends on a variety of factors. As also proposed by recent approaches to model repair, it is reasonable to leave the actual choice and approval of a repair alternative to the discretion of the developer. Model repair tools can support developers by proposing a list of the most promising repairs. Such repair recommendations will be only accepted in practice if the generated proposals are plausible and understandable, and if the set as a whole is manageable. Current approaches, which mostly focus on exhaustive search strategies, exploring all possible model repairs without considering the intention of historic changes, fail in meeting these requirements.
In this article, we present a new approach to generate repair proposals that aims at inconsistencies that have been introduced by past incomplete edit steps that can be located in the version history of a model. Such an incomplete edit step is either undone or it is extended to a full execution of a consistency-preserving edit operation. The history-based analysis of inconsistencies as well as the generation of repair recommendations are fully automated, and all interactive selection steps are supported by our repair tool called REVISION. We evaluate our approach using histories of real-world models obtained from popular open-source modeling projects hosted in the Eclipse Git repository, including the evolution of the entire UML meta-model. Our experimental results confirm our hypothesis that most of the inconsistencies, namely, 93.4, can be resolved by complementing incomplete edits. 92.6% of the generated repair proposals are relevant in the sense that their effect can be observed in the models’ histories. 94.9% of the relevant repair proposals are ranked at the topmost position.
- Manuel Ohrndorf, Christopher Pietsch, Udo Kelter, Lars Grunske, and Timo Kehrer. 2019. ReVision. https://repairvision.github.io/.Google Scholar
- Marcus Alanen, Ivan Porres, et al. 2004. A Relation between Context-free Grammars and Meta Object Facility Metamodels. Citeseer.Google Scholar
- Carsten Amelunxen, Elodie Legros, Andy Schürr, and Ingo Stürmer. 2008. Checking and enforcement of modeling guidelines with graph transformations. Applications of Graph Transformations with Industrial Relevance. Springer, 313--328.Google Scholar
- Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause, and Gabriele Taentzer. 2010. Henshin: Advanced concepts and tools for in-place EMF model transformations. Model Driven Engineering Languages and Systems. Springer, 121--135.Google ScholarDigital Library
- Thorsten Arendt and Gabriele Taentzer. 2013. A tool environment for quality assurance based on the eclipse modeling framework. Autom. Softw. Eng. 20, 2 (2013), 141--184.Google ScholarDigital Library
- Robert Balzer. 1991. Tolerating inconsistency. In Proceedings of the 13th International Conference on Software Engineering. IEEE Computer Society Press, 158--165.Google Scholar
- Angela Barriga, Adrian Rutle, and Rogardt Heldal. 2018. Automatic model repair using reinforcement learning. In Proceedings of the International Workshop on Analytics and Mining of Model Repositories.Google Scholar
- Enrico Biermann, Karsten Ehrig, Christian Köhler, Günter Kuhns, Gabriele Taentzer, and Eduard Weiss. 2006. Graphical definition of in-place transformations in the eclipse modeling framework. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems. Springer, 425--439.Google ScholarDigital Library
- Enrico Biermann, Claudia Ermel, and Gabriele Taentzer. 2012. Formal foundation of consistent EMF model transformations by algebraic graph transformation. Softw. Syst. Model. 11, 2 (2012), 227--250.Google ScholarDigital Library
- Xavier Blanc, Isabelle Mounier, Alix Mougenot, and Tom Mens. 2008. Detecting model inconsistency through operation-based model construction. In Proceedings of the 30th International Conference on Software Engineering. ACM, 511--520.Google ScholarDigital Library
- Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2012. Model-driven Software Engineering in Practice. Morgan 8 Claypool Publishers.Google Scholar
- Hoa Khanh Dam, Alexander Reder, and Alexander Egyed. 2014. Inconsistency resolution in merging versions of architectural models. In Proceedings of the IEEE/IFIP Conference on Software Architecture (WICSA’14). IEEE, 153--162.Google ScholarDigital Library
- Steve Easterbrook and Bashar Nuseibeh. 1996. Using viewpoints for inconsistency management. Softw. Eng. J. 11, 1 (1996), 31--43.Google ScholarCross Ref
- Eclipse Foundation. 2019. Eclipse Git repositories. Retrieved from https://git.eclipse.org/c/.Google Scholar
- Alexander Egyed. 2006. Instant consistency checking for the UML. In Proceedings of the 28th International Conference on Software Engineering. ACM, 381--390.Google ScholarDigital Library
- Alexander Egyed. 2011. Automatically detecting and tracking inconsistencies in software design models. IEEE Trans. Softw. Eng. 37, 2 (2011), 188--204.Google ScholarDigital Library
- Alexander Egyed, Emmanuel Letier, and Anthony Finkelstein. 2008. Generating and evaluating choices for fixing inconsistencies in UML design models. In Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, 99--108.Google ScholarDigital Library
- Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. 2006. Fundamentals of Algebraic Graph Transformation. Springer.Google Scholar
- Romina Eramo, Alfonso Pierantonio, José Raúl Romero, and Antonio Vallecillo. 2008. Change management in multi-viewpoint system using ASP. In Proceedings of the 12th Enterprise Distributed Object Computing Conference Workshops. IEEE, 433--440.Google ScholarDigital Library
- Dirk Fahland and Wil M. P. van der Aalst. 2015. Model repair--aligning process models to reality. Inf. Syst. 47 (2015), 220--243.Google ScholarDigital Library
- Anthony Finkelstein, Dov Gabbay, Anthony Hunter, Jeff Kramer, and Bashar Nuseibeh. 1994. Inconsistency handling in multiperspective specifications. IEEE Trans. Softw. Eng. 20, 8 (1994), 569--578.Google ScholarDigital Library
- Eugene C. Freuder and Richard J. Wallace. 1992. Partial constraint satisfaction. Artif. Intell. 58, 1–3 (1992), 21--70.Google ScholarCross Ref
- Lars Fritsche, Jens Kosiol, Andy Schürr, and Gabriele Taentzer. 2019. Efficient model synchronization by automatically constructed repair processes. In Proceedings of the International Conference on Fundamental Approaches to Software Engineering. Springer, 116--133.Google ScholarCross Ref
- Sinem Getir, Michaela Rindt, and Timo Kehrer. 2014. A generic framework for analyzing model co-evolution. In Proceedings of the Workshop on Models and Evolution and ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. 12--21.Google Scholar
- Holger Giese and Robert Wagner. 2009. From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8, 1 (2009), 21--43.Google ScholarCross Ref
- Michael Goedicke, Torsten Meyer, and Gabriele Taentzer. 1999. Viewpoint-oriented software development by distributed graph transformation: Towards a basis for living with inconsistencies. In Proceedings of the IEEE International Symposium on Requirements Engineering. IEEE, 92--99.Google ScholarCross Ref
- John Grundy, John Hosking, and Warwick B. Mugridge. 1998. Inconsistency management for multiple-view software development environments. IEEE Trans. Softw. Eng. 24, 11 (1998), 960--981.Google ScholarDigital Library
- Regina Hebig, Truong Ho Quang, Michel R. V. Chaudron, Gregorio Robles, and Miguel Angel Fernandez. 2016. The quest for open source projects that use UML: Mining GitHub. In Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems. ACM, 173--183.Google ScholarDigital Library
- Abel Hegedüs, Akos Horváth, István Ráth, Moisés Castelo Branco, and Dániel Varró. 2011. Quick fix generation for DSMLs. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’11). IEEE, 17--24.Google ScholarCross Ref
- Soichiro Hidaka, Massimo Tisi, Jordi Cabot, and Zhenjiang Hu. 2016. Feature-based classification of bidirectional transformation approaches. Softw. Syst. Model. 15, 3 (2016), 907--928.Google ScholarDigital Library
- Zijian Jiang, Ye Wang, Hao Zhong, and Na Meng. 2020. Automatic method change suggestion to complement multi-entity edits. J. Syst. Softw. 159 (2020), 110441.Google ScholarCross Ref
- Oliver Kautz and Bernhard Rumpe. 2018. On computing instructions to repair failed model refinements. In Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. ACM, 289--299.Google ScholarDigital Library
- Timo Kehrer. 2015. Calculation and Propagation of Model Changes Based on User-level Edit Operations: A Foundation for Version and Variant Management in Model-driven Engineering. Ph.D. Dissertation. University of Siegen. Retrieved from http://dokumentix.ub.uni-siegen.de/opus/volltexte/2015/963/.Google Scholar
- Timo Kehrer, Abdullah Alshanqiti, and Reiko Heckel. 2017. Automatic inference of rule-based specifications of complex in-place model transformations. In Proceedings of the International Conference on Theory and Practice of Model Transformations. Springer, 92--107.Google ScholarCross Ref
- Timo Kehrer, Udo Kelter, Manuel Ohrndorf, and Tim Sollbach. 2012. Understanding model evolution through semantically lifting model differences with SiLift. In Proceedings of the 28th IEEE International Conference on Software Maintenance. IEEE, 638--641.Google ScholarDigital Library
- Timo Kehrer, Udo Kelter, Pit Pietsch, and Maik Schmidt. 2012. Adaptability of model comparison tools. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. ACM, 306--309.Google ScholarDigital Library
- Timo Kehrer, Udo Kelter, and Dennis Reuling. 2014. Workspace updates of visual models. In Proceedings of the ACM/IEEE International Conference on Automated Software Engineering (ASE’14). ACM, 827--830.Google ScholarDigital Library
- Timo Kehrer, Udo Kelter, and Gabriele Taentzer. 2011. A rule-based approach to the semantic lifting of model differences in the context of model versioning. In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, 163--172.Google ScholarDigital Library
- Timo Kehrer, Udo Kelter, and Gabriele Taentzer. 2013. Consistency-preserving edit scripts in model versioning. In Proceedings of the IEEE/ACM 28th International Conference on Automated Software Engineering (ASE’13). IEEE, 191--201.Google ScholarDigital Library
- Timo Kehrer, Michaela Rindt, Pit Pietsch, and Udo Kelter. 2013. Generating edit operations for profiled UML models. In Proceedings of the International Workshop on Models and Evolution (CEUR Workshop Proceedings), Vol. 1090. 30--39.Google Scholar
- Timo Kehrer, Gabriele Taentzer, Michaela Rindt, and Udo Kelter. 2016. Automatically deriving the specification of model editing operations from meta-models. In Proceedings of the International Conference on Model Transformations.Google ScholarDigital Library
- Dongsun Kim, Jaechang Nam, Jaewoo Song, and Sunghun Kim. 2013. Automatic patch generation learned from human-written patches. In Proceedings of the International Conference on Software Engineering. IEEE Press, 802--811.Google ScholarCross Ref
- Mathias Kleiner, Marcos Didonet Del Fabro, and Patrick Albert. 2010. Model search: Formalizing and automating constraint solving in MDE platforms. In Proceedings of the European Conference on Modelling Foundations and Applications. Springer, 173--188.Google ScholarDigital Library
- Dimitrios Kolovos, Richard Paige, and Fiona Polack. 2008. Detecting and repairing inconsistencies across heterogeneous models. In Proceedings of the 1st International Conference on Software Testing, Verification, and Validation. IEEE, 356--364.Google ScholarDigital Library
- Dimitrios S. Kolovos, Davide Di Ruscio, Alfonso Pierantonio, and Richard F. Paige. 2009. Different models for model matching: An analysis of approaches to support model differencing. In Proceedings of the ICSE Workshop on Comparison and Versioning of Software Models (CVSM’09). IEEE, 1--6.Google Scholar
- Roland Kretschmer, Djamel Eddine Khelladi, Andreas Demuth, Roberto E. Lopez-Herrejon, and Alexander Egyed. 2017. From abstract to concrete repairs of model inconsistencies: An automated approach. In Proceedings of the 24th Asia-Pacific Software Engineering Conference (APSEC’17). IEEE, 456--465.Google ScholarCross Ref
- Xuan Bach D. Le, David Lo, and Claire Le Goues. 2016. History driven program repair. In Proceedings of the IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER’16), Vol. 1. IEEE, 213--224.Google ScholarCross Ref
- Claire Le Goues, Stephanie Forrest, and Westley Weimer. 2013. Current challenges in automatic software repair. Softw. Qual. J. 21, 3 (2013), 421--443.Google ScholarDigital Library
- Henry Lieberman. 2001. Your Wish Is My Command: Programming by Example. Morgan Kaufmann.Google Scholar
- Nuno Macedo, Tiago Guimaraes, and Alcino Cunha. 2013. Model repair and transformation with Echo. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering. IEEE Press, 694--697.Google ScholarDigital Library
- Nuno Macedo, Tiago Jorge, and Alcino Cunha. 2016. A feature-based classification of model repair approaches. IEEE Trans. Softw. Eng. 43, 7 (2016), 615--640.Google ScholarDigital Library
- Matias Martinez, Westley Weimer, and Martin Monperrus. 2014. Do the fix ingredients already exist? An empirical inquiry into the redundancy assumptions of program repair approaches. In Proceedings of the 36th International Conference on Software Engineering. ACM, 492--495.Google ScholarDigital Library
- Sergey Mechtaev, Manh-Dung Nguyen, Yannic Noller, Lars Grunske, and Abhik Roychoudhury. 2018. Semantic program repair using a reference implementation. In Proceedings of the 40th International Conference on Software Engineering (ICSE’18), Michel Chaudron, Ivica Crnkovic, Marsha Chechik, and Mark Harman (Eds.). ACM, 129--139.Google ScholarDigital Library
- Sergey Mechtaev, Jooyong Yi, and Abhik Roychoudhury. 2016. Angelix: Scalable multiline program patch synthesis via symbolic analysis. In Proceedings of the International Conference on Software Engineering (ICSE’16). ACM, 691--701.Google ScholarDigital Library
- Tom Mens. 2006. On the use of graph transformations for model refactoring. In Generative and Transformational Techniques in Software Engineering. Springer, 219--257.Google Scholar
- Tom Mens, Ragnhild Van Der Straeten, and Maja D’Hondt. 2006. Detecting and resolving model inconsistencies using transformation dependency analysis. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems. Springer, 200--214.Google ScholarDigital Library
- Martin Monperrus. 2014. A critical review of automatic patch generation learned from human-written patches: Essay on the problem statement and the evaluation of automatic software repair. In Proceedings of the 36th International Conference on Software Engineering. ACM, 234--242.Google ScholarDigital Library
- Nebras Nassar, Hendrik Radke, and Thorsten Arendt. 2017. Rule-based repair of EMF models: An automated interactive approach. In Proceedings of the International Conference on Theory and Practice of Model Transformations. Springer, 171--181.Google ScholarCross Ref
- Christian Nentwich, Wolfgang Emmerich, and Anthony Finkelstein. 2003. Consistency management with repair actions. In Proceedings of the 25th International Conference on Software Engineering. IEEE, 455--464.Google ScholarCross Ref
- Hoang Duong Thien Nguyen, Dawei Qi, Abhik Roychoudhury, and Satish Chandra. 2013. SemFix: Program repair via semantic analysis. In Proceedings of the International Conference on Software Engineering (ICSE’13). IEEE Press, Piscataway, NJ, 772--781.Google Scholar
- Bashar Nuseibeh, Steve Easterbrook, and Alessandra Russo. 2000. Leveraging inconsistency in software development. Computer 4 (2000), 24--29.Google ScholarDigital Library
- Manuel Ohrndorf, Christopher Pietsch, Udo Kelter, and Timo Kehrer. 2018. ReVision: A tool for history-based model repair recommendations. In Proceedings of the 40th International Conference on Software Engineering. ACM, 105--108.Google ScholarDigital Library
- Spencer Pearson, José Campos, René Just, Gordon Fraser, Rui Abreu, Michael D. Ernst, Deric Pang, and Benjamin Keller. 2017. Evaluating and improving fault localization. In Proceedings of the 39th International Conference on Software Engineering (ICSE’17), Sebastián Uchitel, Alessandro Orso, and Martin P. Robillard (Eds.). IEEE/ACM, 609--620.Google ScholarDigital Library
- Christopher Pietsch, Manuel Ohrndorf, Udo Kelter, and Timo Kehrer. 2017. Incrementally slicing editable submodels. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE’17), Grigore Rosu, Massimiliano Di Penta, and Tien N. Nguyen (Eds.). IEEE Computer Society, 913--918.Google ScholarDigital Library
- Jorge Pinna Puissant, Ragnhild Van Der Straeten, and Tom Mens. 2015. Resolving model inconsistencies using automated regression planning. Softw. Syst. Model. 14, 1 (2015), 461--481.Google ScholarDigital Library
- Alexander Reder and Alexander Egyed. 2010. Model/analyzer: A tool for detecting, visualizing and fixing design errors in UML. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering. ACM, 347--348.Google ScholarDigital Library
- Alexander Reder and Alexander Egyed. 2012. Computing repair trees for resolving inconsistencies in design models. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ASE’12). IEEE, 220--229.Google ScholarDigital Library
- Alexander Reder and Alexander Egyed. 2012. Incremental consistency checking for complex design rules and larger model changes. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems. Springer, 202--218.Google ScholarDigital Library
- Alexander Reder and Alexander Egyed. 2013. Determining the cause of a design model inconsistency. IEEE Trans. Softw. Eng. 39, 11 (2013), 1531--1548.Google ScholarDigital Library
- Michaela Rindt, Timo Kehrer, and Udo Kelter. 2014. Automatic generation of consistency-preserving edit operations for MDE tools. In Proceedings of the Demonstrations Track of the ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems.Google Scholar
- Michael Rudolf. 1998. Utilizing constraint satisfaction techniques for efficient graph pattern matching. In Proceedings of the International Workshop on Theory and Application of Graph Transformations. Springer, 238--251.Google Scholar
- Maik Schmidt, Sven Wenzel, Timo Kehrer, and Udo Kelter. 2009. History-based merging of models. In Proceedings of the ICSE Workshop on Comparison and Versioning of Software Models. IEEE Computer Society, 13--18.Google ScholarDigital Library
- Sven Schneider, Leen Lambers, and Fernando Orejas. 2019. A logic-based incremental approach to graph repair. In Proceedings of the International Conference on Fundamental Approaches to Software Engineering. Springer, 151--167.Google ScholarCross Ref
- Alexander Schultheiß, Alexander Boll, and Timo Kehrer. 2020. Comparison of graph-based model transformation rules. J. Obj. Technol. 19, 2 (2020).Google Scholar
- Andy Schürr. 1995. Specification of graph translators with triple graph grammars. In Graph-Theoretic Concepts in Computer Science. Springer, 151--163.Google Scholar
- Guy Shani and Asela Gunawardana. 2011. Evaluating recommendation systems. In Recommender Systems Handbook. Springer, 257--297.Google Scholar
- George Spanoudakis and Andrea Zisman. 2001. Inconsistency management in software engineering: Survey and open research issues. In Handbook of Software Engineering and Knowledge Engineering: Volume I: Fundamentals. World Scientific, 329--380.Google Scholar
- Dave Steinberg, Frank Budinsky, Ed Merks, and Marcelo Paternostro. 2008. EMF: Eclipse Modeling Framework. Pearson Education.Google ScholarDigital Library
- Daniel Strüber, Kristopher Born, Kanwal Daud Gill, Raffaela Groner, Timo Kehrer, Manuel Ohrndorf, and Matthias Tichy. 2017. Henshin: A usability-focused framework for EMF model transformation development. In Proceedings of the International Conference on Graph Transformation. Springer, 196--208.Google ScholarCross Ref
- Gabriele Taentzer, Thorsten Arendt, Claudia Ermel, and Reiko Heckel. 2012. Towards refactoring of rule-based, in-place model transformation systems. In Proceedings of the 1st Workshop on the Analysis of Model Transformations. 41--46.Google ScholarDigital Library
- Gabriele Taentzer, André Crema, René Schmutzler, and Claudia Ermel. 2008. Generating domain-specific model editors with complex editing commands. In Applications of Graph Transformations with Industrial Relevance. Springer, 98--103.Google Scholar
- Gabriele Taentzer, Manuel Ohrndorf, Yngve Lamo, and Adrian Rutle. 2017. Change-preserving model repair. In Proceedings of the International Conference on Fundamental Approaches to Software Engineering. Springer, 283--299.Google ScholarDigital Library
- Matthias Tichy, Christian Krause, and Grischa Liebel. 2013. Detecting performance bad smells for Henshin model transformations.Proceedings of the AMT@MODELS Conference. 1077.Google Scholar
- Ragnhild Van Der Straeten and Maja D’Hondt. 2006. Model refactorings through rule-based inconsistency resolution. In Proceedings of the ACM Symposium on Applied Computing. ACM, 1210--1217.Google ScholarDigital Library
- Ragnhild Van Der Straeten, Tom Mens, Jocelyn Simmonds, and Viviane Jonckers. 2003. Using description logic to maintain consistency between UML models. In Proceedings of the International Conference on the Unified Modeling Language. Springer, 326--340.Google ScholarCross Ref
- Ragnhild Van Der Straeten, Jorge Pinna Puissant, and Tom Mens. 2011. Assessing the Kodkod model finder for resolving model inconsistencies. In Proceedings of the European Conference on Modelling Foundations and Applications. Springer, 69--84.Google ScholarCross Ref
- Jos B. Warmer and Anneke G. Kleppe. 1998. The Object Constraint Language: Precise Modeling with UML. Addison-Wesley Longman Publishing Co., Inc.Google Scholar
- Westley Weimer, ThanhVu Nguyen, Claire Le Goues, and Stephanie Forrest. 2009. Automatically finding patches using genetic programming. In Proceedings of the 31st International Conference on Software Engineering. IEEE Computer Society, 364--374.Google ScholarDigital Library
- Sven Wenzel. 2011. Unique Identification of Elements in Evolving Models: Towards Fine-Grained Traceability in Model-Driven Engineering. Ph.D. Dissertation. Universität Siegen, Fachbereich Elektrotechnik und Informatik.Google Scholar
- Sven Wenzel. 2014. Unique identification of elements in evolving software models. Softw. Syst. Model. 13, 2 (2014), 679--711.Google ScholarDigital Library
- Manuel Wimmer and Gerhard Kramler. 2005. Bridging grammarware and modelware. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems. Springer, 159--168.Google Scholar
- W. Eric Wong and Vidroha Debroy. 2009. A Survey of Software Fault Localization. Technical Report. Department of Computer Science, University of Texas at Dallas, Tech. Rep. UTDCS-45 9 (2009).Google Scholar
- W. Eric Wong, Vidroha Debroy, and Dianxiang Xu. 2012. Towards better fault localization: A crosstab-based statistical approach. IEEE Trans. Syst., Man, Cybern., Part C 42, 3 (2012), 378--396.Google ScholarDigital Library
- W. Eric Wong, Tingting Wei, Yu Qi, and Lei Zhao. 2008. A crosstab-based statistical method for effective fault localization. In Proceedings of the 1st International Conference on Software Testing, Verification, and Validation (ICST’08). IEEE Computer Society, 42--51.Google ScholarDigital Library
- Yingfei Xiong, Zhenjiang Hu, Haiyan Zhao, Hui Song, Masato Takeichi, and Hong Mei. 2009. Supporting automatic model inconsistency fixing. In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. ACM, 315--324.Google ScholarDigital Library
- Andreas Zeller. 2009. Why Programs Fail: A Guide to Systematic Debugging. Elsevier.Google ScholarDigital Library
- Moshé M. Zloof. 1975. Query-by-example: The invocation and definition of tables and forms. In Proceedings of the 1st International Conference on Very Large Data Bases. ACM, 1--24.Google ScholarDigital Library
Index Terms
- History-based Model Repair Recommendations
Recommendations
ReVision: a tool for history-based model repair recommendations
ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion ProceeedingsModels in Model-Driven Engineering are heavily edited in all stages of software development and can become temporarily inconsistent. In general, there are many alternatives to fix an inconsistency, the actual choice is left to the discretion of the ...
Change-Preserving Model Repair
Proceedings of the 20th International Conference on Fundamental Approaches to Software Engineering - Volume 10202During modeling activities, inconsistencies can easily occur due to misunderstandings, lack of information or simply mistakes. In this paper, we focus on model inconsistencies that occur due to model editing and cause violation of the meta-model ...
Model and Program Repair via SAT Solving
Special Issue on MEMCODE 2015 and Regular Papers (Diamonds)We consider the subtractive model repair problem: given a finite Kripke structure M and a CTL formula η, determine if M contains a substructure M′ that satisfies η. Thus, M can be “repaired” to satisfy eta by deleting some transitions and states. We map ...
Comments