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

Report on research work

Information on the development of the research project

The driving goal of our project was exploring the applicability of Search Based Software Engineering techniques, e.g. based on simple deterministic, metaheuristic searches, or based on evolutionary computation concepts, to solve problems related to the management of Software Product Lines which are families of software products that share large similar functionality but each can still have functionality differences, depending on their combinations of features. Crucial issues in developing Software Product Lines are modeling the different possible combinations of features desired, tracing how features are implemented in artifacts, testing and detecting their inconsistencies, and suggesting options to address them. Being at the forefront research at the intersection of two fields such as Search Based Software Engineering and Software Product Lines gave us a unique perspective on both areas, from where we could see their tremendous synergy as well as to realize that there are many angles, views, and opportunities to further explore. One thing that we soon noticed was the crucial role of adequate and realistic case studies for a robust empirical evaluation. We made efforts to collect such studies and further advocated the need for a community-wide effort to collect them.

Results and their significance

We started off with the presentation of the project at the European Conference on Software Maintenance and Reuse (CSMR) in the European projects track [Lo+13c]. In [Ha+13a] an exact algorithm for reverse engineering feature models from valid combinations of feature sets was proposed. Further alternatives for solving this reverse engineering task were developed and are summarized in [Lo+14c], in addition we proposed a generic approach for similar reverse engineering tasks using Genetic Programming that we illustrate for the concrete case of feature models in [Li+14b].

We addressed consistency from different angles that together provide a foundation for further research endeavours. In [Al+14] we present a generalized consistency checking approach for Software Product Lines, applied in particular to models used at early stages of development. We studied co-evolution between metamodels and models from the unique angle of incremental model transformations triggered by changes in consistency relationships ([De+13a], [De+13c], [De+13b]). The results are summarized in the journal submission [De+14b]. Furthermore, using a similar concept of incremental consistency checking, an approach was developed for detecting inconsistencies between the assets that implement individual features and the desired set of products that belong to a Software Product Line. For instance, when a change of an asset implementation is detected, the affected products and their related consistency are highlighted and vice versa, along designers to take the corresponding corrective action [De+14a].

Another important aspect of our work was elaborating traceability models and mechanisms to identify where features and features interactions are actually realized in artifacts. In [Li+13] we provide our first model that supports medium and coarse granularity levels, which were further refined for lower granularity elements in [Fi+14] , and combined with additional control flow information in [Li+14a]. The results in this line of work are compiled and extended in [Li+14c] .

At the beginning of the project we detected a great applicability of our work in reverse engineering feature models with search-based techniques in the area software testing ([Ha+13b], [Ha+13c]). We found that the synergies between SBSE and SPL for testing were mostly completely unexplored. In a collaboration with Prof. Francisco Chicano and Prof. Enrique Alba from the University of Malaga Spain, who head a world-class leading group in the area of search-based testing for standard applications, we explored this opportunity further. The result was series of joint publications in this area, some of which were presented in the top specialized conferences of the field ([Lo+14d], [Lo+14e], [Lo+13b], [Lo+14f], [Lo+13d]), which will be summarized in [Lo+14a]. With these publications also came the realization of the great need of applying adequate visualisation techniques to help software engineers cope with large amounts of information that they need to consider in order to make design decisions. We materialize this realization in the publication [Lo+13a], where we shortly survey the state of the art of Software Product Line visualization and present a simple prototype to visualize test suites. We are convinced these two lines of research (testing and visualisation) have great potential impact for further investigation which we intend to work on through join collaborations of leading groups working in JKU and with our colleagues in Spain and France.
 
Throughout the Lise Meitner fellowship we have opportunity to collaborate with colleagues in other institutions on research topics that fell within the scope of our projects, and that provided interesting and refreshing views on our work or direct applications of it. In [Pa+14] we studied the application of advanced multi-objective evolutionary algorithms for the configuration of mobile applications, that were guided not only by the information obtained from the feature models but it also considered non-functional properties such as memory or performance issues. In [Da+14] a simple search-based mechanism is presented for merging models such that they reduce or eliminate inconsistencies determined by a set of consistency rules. We also started a collaboration with the University of Rennes in France with the research group lead by Prof. Mathieu Acher, with which our groups shares a similar research agenda. Our joint publication [Ac+14] on teaching issues in the area of Software Product Lines is just the beginning of what we expect to be a larger and more extensive collaboration. Our intention is to pursue joint international projects.

In [Lo+15a] we summarize our core experiences with Search Based Software Engineering for consistency of Software Product Lines. In addition, we performed a systematic mapping study on the application Search Based Software Engineering throughout the entire Software Product Line lifecycle [Lo+14f ]. This mapping study is currently under review at the Information and Software Technology journal [Lo+14b]. A draft of this work has received very positive feedback from Prof. Mark Harman, University College London, who is the pioneer founder and leading figure of Search Based Software Engineering. Our study not only surveys the state of the art and practice of the area, but also identifies open challenges and research opportunities thus setting an agenda for the area. In addition, it serves to highlight that the Johannes Kepler University with the Software Systems Engineering institutes is among the world-leading groups in the study and application in this area, a fact that is a direct and tangible result of the Lise Meitner project.