IMDEA Software

IMDEA initiative

Home > Events > Invited Talks > 2014 > To Merge or Not to Merge: Managing Software Families

Julia Rubin

Thursday, March 6, 2014

10:30am Meeting room 302 (Mountain View), level 3

Julia Rubin, Researcher, Haifa Research Lab

To Merge or Not to Merge: Managing Software Families

Abstract:

Software surrounds us and drives our lives: most modern systems heavily rely on software. Managing the complexity of these large software systems is a challenging task. It is even more challenging for software product lines – families of software variants with similar yet not identical functionality (think Samsung’s Galaxy S line which includes over two dozen smartphone models, each with its own variation of software).

In the last two decades, numerous approaches have been proposed to help develop product lines in an efficient manner. Surprisingly, they are rarely used in practice. In this talk, we investigate reasons for such lack of adoption. We then propose an approach for improving existing practices that relies on a set of software analysis and transformation tasks.

We show that some of the required tasks are barely studied by existing works and look in detail into one of them: matching artifacts from multiple products (a.k.a. n-way match). We explain why the n-way match problem is NP-hard, explore possible approximate solutions, and propose our own heuristic n-way match algorithm that is superior to other practical approaches in terms of its accuracy. We conclude the talk by outlining a future research agenda.