Extraction and Composition for Clone-and-Own (ECCO)
ECCO (Extraction and Composition for Clone-and-Own), is an approach to support software engineers in applying clone-and-own. ECCO supports the incremental construction of a product portfolio and the reuse of an existing one. It consists of two automated steps and a third tool-supported one. In Step 1, an extraction algorithm compares the existing variants of a portfolio to identify the commonalities and differences, and maps them to their features and feature interactions. In Step, a composition algorithm generates new product variants on the basis of the mapping (traces) identified in Step 1. ECCO supports not only the reuse of feature implementations but also relevant feature interactions. In Step 3 a manual but tool-supported completion is performed. This is necessary for features and feature interactions that: i) did not exist in any of the previous variants and hence need to be implemented, or ii) have always appeared together in all existing variants and hence need to be separated for a new variant in which case ECCO automatically provides help to direct the software engineer to all these occurrences. Once the completion is done, the next clone-and-own cycle will include the newly composed/completed variant in Step 1. ECCO is thus an incremental mechanism that can improve in quality with every new variant being constructed.
ECCO Tool Demo (5min) with subtitles
ECCO Tool Demo (15min)
Please contact us!