Detecting and Exploring Side Effects when Repairing Model Inconsistencies
When software models change, developers often fail in keeping them consistent. Automated support in repairing inconsistencies is state of the art. Yet, merely enumerating repairs for developers is not enough. A repair, for a given inconsistency, can as a side effect cause new unexpected inconsistencies (negative) or even fix other inconsistencies as well (positive). To make matters worse, repairing negative side effects can in turn cause further side effects. Current approaches do not detect and track such side effects in depth, which can increase developers’ effort and time spent in repairing inconsistencies. This paper presents an automated approach for detecting and tracking the consequences of repairs, i.e. side effects. It recursively explores in depth positive and negative side effects and identifies paths and cycles of repairs. This paper further ranks repairs based on side effect knowledge so that developers may quickly find the relevant ones.
Our approach and its tool implementation have been empirically assessed on 14 case studies from industry, academia, and GitHub. Results show that both positive and negative side effects occur frequently. A comparison with three versioned models showed the usefulness of our ranking strategy based on side effects. It showed that our approach’s top prioritized repairs are those that developers would indeed choose. A controlled experiment with 24 participants further highlights the significant influence of side effects and of our ranking of repairs on developers. Developers who received side effect knowledge chose far more repairs with positive side effects and far less with negative side effects, while being 12.3% faster, in contrast to developers who did not receive side effect knowledge.
Tue 22 OctDisplayed time zone: Beirut change
11:00 - 12:30 | |||
11:00 30mTalk | Domain-specific model differencing in visual concrete syntaxBest Paper SLE 2019 Manouchehr Zadahmad Jafarlou Université de Montréal, Eugene Syriani Université de Montréal, Omar Alam Trent University, Esther Guerra Universidad Autonoma de Madrid, Juan de Lara Universidad Autonoma de Madrid | ||
11:30 30mTalk | Detecting and Exploring Side Effects when Repairing Model Inconsistencies SLE 2019 Djamel Eddine Khelladi CNRS, IRISA, Roland Kretschmer JOHANNES KEPLER UNIVERSITY LINZ, Alexander Egyed JOHANNES KEPLER UNIVERSITY LINZ | ||
12:00 30mTalk | Higher-Level Mission Specification for Multiple Robots SLE 2019 Sergio Garcia Chalmers | University of Gothenburg, Patrizio Pelliccione Chalmers | University of Gothenburg, Claudio Menghi University of Luxembourg, Luxembourg, Thorsten Berger Chalmers | University of Gothenburg, Tomas Bures Charles University |