You are here

Customizing Software Systems: From Clone and Own to ECCO

Alexander Egyed, Johannes Kepler University
11-12  7th Jun 2024

Abstract

Over the span of two decades, I have worked at and with companies on complex, distributed cyber-physical systems across diverse sectors. Throughout this experience, I consistently observed that engineers grapple with the challenge of keeping pace with escalating system variability. Modern systems are frequently custom-tailored, with companies initially constructing a system tailored to specific needs and subsequently replicating and modifying it for each new client. Instead of a singular, configurable system, companies accumulate a collection of related variants through this "Clone-and-Own" practice. This widely adopted mentality in industry requires minimal initial investment compared to infrastructure promoting reuse but lacks a structured approach for systematic reuse and for managing resulting feature interactions. In this presentation, I introduce ECCO (Extraction and Composition for Clone-and-Own), a pioneering method designed to actively support software engineers in implementing clone-and-own practices. With ECCO, a software engineer can select desired features, and the system identifies appropriate software artifacts for replication, guiding the engineer through the subsequent manual completion by suggesting missing or potentially requiring adaptation. Our evaluation of ECCO, conducted across four case studies encompassing 305 variants with up to 344KLOC, demonstrates that precision and recall in composing products rapidly approach near-optimal levels.

Short Bio

Alexander Egyed is a Professor at the Johannes Kepler University (JKU) Linz. He received his Doctorate degree from the University of Southern California, USA, then worked in industry for seven years before joining the University College London, UK. Dr. Egyed has published over 200 refereed scientific books, journals, conferences, and workshops; accumulating over 10K citations to date. He was recognized as a Top 1% scholar in software engineering in the Communications of the ACM, Springer Scientometrics, and Microsoft Academic Search. He was also named an IBM Research Faculty Fellow in recognition to his contributions to consistency checking, received a Recognition of Servie Award from the ACM, many Best and Distinguished Paper Awards, and an Outstanding Achievement Award from the USC. He served on scientific panels, countless program committees, program (co-) chairs, steering committee member, and editorial board member.

Venue

Large Conference Room, O’Reilly Institute