Page Areas:



Additional Information:

Location

Science Park 3

We are located on the second floor of the Computer Science Building (Science Park 3) ...  more of Location (Titel)


Position Indication:

Content

Final Report

Because of economical, technological and marketing reasons today's software systems are more frequently being built as families where each member implements a different combination of functionality also called features. For instance, it is not uncommon to have academic, professional, or community versions of commercial and open source applications such as editing, modelling, programming or many other development tools where each version differs on the features it provides. Applications for mobile phones are also a typical and daily-life example where the same programs must run on different mobile sets, each with difference capabilities of hardware and software, etc.

The driving goal of this project was to provide support to detect inconsistencies between the different views or artefacts that are typically used during the development of these software families. The main challenge in this scenario is accounting for all the different feature combinations, a number potentially very large, as well as the large numbers of inconsistencies types and concrete instances that can exist in such artefacts.

Our project focused on those inconsistencies in standard programming and modelling languages, such as the de facto industry standard Unified Modeling Language (UML) and Java. We developed a general model to describe and characterize inconsistencies, and applied it to a set of available case studies, of difference sizes and application domains, to validate our work. Our approach, based on formalisms of propositional logic, proved effective for detecting inconsistencies in an efficient and scalable manner.

We also identified several issues regarding the applicability and usability of our approach as well as promising and exciting venues and topics for further research. For example, the realization of the fact that the detection of inconsistencies is just the first step towards providing a workable and usable solution for the software developer when faced with the daunting challenge of fixing an inconsistency that involves many features, particular feature combinations, or other inconsistencies. In other words, fixing capability is as well (if not more) crucial for the real life application of our work.

In that direction, the career exploratory opportunities of the fellowship opened up a new horizon of possibilities to tackle the fixing capability required. Dr. Lopez-Herrejon, had the opportunity to attend several tutorials at conferences and summer schools. As a result, a clear connection was established between the fixing capabilities needed in our project with theories, tools, and techniques from the Evolutionary Computation and Search Based Software Engineering communities. These communities tackle challenging problems by studying, formalizing and applying techniques found in nature such as genetics, evolution, or ant colony behaviour. Our work made some inroads into these topics and was able to make the first palpable connections. Most importantly, these potential fixing capabilities were gathered and framed as a research proposal that was submitted to the Austrian research agency (FWF Der Wissenschaftsfonds) as a prestigious Lise Meitner fellowship. We are glad to report that Dr. Lopez-Herrejon was awarded this fellowship that will allow us to keep exploring this fascinating connection for next two years.

The Marie Curie fellowship also provided invaluable training for Dr. Lopez-Herrejon in his academic career. During his tenure, he co-supervised three undergraduate and two master thesis, and served as doctoral committee member in two occasions. He co-taught 3 seminar and regular courses at our institute. He visited with an Erasmus Teaching Exchange scheme the University of Seville Spain where he presented part of this work to the students and researchers of that institution. He was involved in the organization of a workshop on the subject of the project associated to the leading conference in the field. He promoted academic visitor exchanges with universities from different countries in the EU.

The results obtained in our work did not directly lead to any patent or exploitable foreground. We expect that once mature enough the technology started in our work can importantly impact the capabilities of current tools for handling software families and their ever increasing industrial applications in particular in embedded and mobile software markets. Most of the potential