Abstract

Model composition plays a central role in many software engineering activities, e.g., evolving design models to add new features. To support these activities, developers usually rely on model composition heuristics. The problem is that the models to-be-composed usually conflict with each other in several ways and such composition heuristics might be unable to properly deal with all emerging conflicts. Hence, the composed model may bear some syntactic and semantic inconsistencies that should be resolved. As a result, the production of the intended model is an error-prone and effort-consuming task. It is often the case that developers end up examining all parts of the output composed model instead of prioritizing the most critical ones, i.e., those that are likely to be inconsistent with the intended model. Unfortunately, little is known about indicators that help developers (1) to identify which model is more likely to exhibit inconsistencies, and (2) to understand which composed models require more effort to be invested. It is often claimed that software systems remaining stable over time tends to have a lower number of defects and require less effort to be fixed than unstable systems. However, little is known about the effects of software stability in the context of model evolution when supported by composition heuristics. This paper, therefore, presents an exploratory study analyzing stability as an indicator of inconsistency rate and resolution effort on model composition activities. Our findings are derived from 180 compositions performed to evolve design models of three software product lines. Our initial results, supported by statistical tests, also indicate which types of changes led to lower inconsistency rate and lower resolution effort.

Highlights

  • Model composition plays a central role in many software engineering activities [18], e.g., evolving design models to add new features and reconciling multiple models developed in parallel by different software development teams [28,38]

  • Model composition plays a pivotal role in many software engineering activities, e.g., evolving Software product lines (SPLs) design models to add new features

  • Software designers are naturally concerned with the quality of the composed models.This paper, represents a first exploratory study to empirically evaluate the impact of stability on model composition effort

Read more

Summary

Introduction

Model composition plays a central role in many software engineering activities [18], e.g., evolving design models to add new features and reconciling multiple models developed in parallel by different software development teams [28,38]. The composition of design models can be defined as a set of activities that should be performed over two input models, MA and MB, in order to produce an output intended model, MAB. To put the model composition in practice, software developers usually make use of composition heuristics [9] to produce MAB. We will use the terms composed model (MCM) and intended model (MAB) to differentiate between the output model produced by a composition heuristic and one is desired by the developers. The higher the number of inconsistencies in MCM, the more distant it is from the intended model This may mean a high effort to be spent to derive MAB from MCM (or not).

Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call