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 the scientific work

Scientific results

The focus of this project was on understanding the impact that change applied to one model can have on related models and on existing traceability in between. We aimed to especially understand the interdependency of related development activities applied to different kinds of models. Based on a previous survey of traceability practices, we selected requirements specifications, issue tracker, architectural documentation, and source code as models with high practical relevance for the work in this project.

In [MaEg12] we describe a study that aims to understand the impact that traceability can have when 1) changes to a requirements specification are implemented in the related source code, and 2) when discovered issues (e.g. bugs) are fixed within the source code. We found that traceability significantly impacts these development activities in terms of reduced effort for performing a change and in terms of higher quality of the performed changed. In order to gain a better understanding of how exactly a developer implements such changes, we performed an analysis of the steps that she/he took in order to implement a change. In [MaEg11] we discuss the discovered observations on the change and navigation process of a developer. We were also working on extended version of the study, involving practitioners and studying the effect of development experience on the change process and results. This manuscript will be submitted within the next weeks.

In [RaMa11] we introduced and applied an efficient and flexible technique for finding patterns in software models and source code. The technique allows for an intuitive and simple definition of searched patterns by the user. In [Mir+12] we successfully demonstrated the practical applicability of our technique by applying it to 36 medium- to large-scale open-source applications. The proposed search technique will become a core part in reasoning about change impact across models. The technique will allow identifying structures that are related to a changing one.

In addition to a search technique that allows pattern matching within a model, we were also working on a technique for retrieving information across multiple models. In [Cle+12a] we demonstrated the applicability of our Visual Traceability Modeling Language (VTML) technique in safety-critical development scenarios. VTML allows to visually create queries that retrieve traceability information and information related through traceability from a development project. VTML will also form a core component of our technique for determining the impact of change on related models.

In [Kua+12] we developed a technique that analyzes control and data flow of source code in order to determine dependencies between source code elements. We demonstrated that this technique helps gaining a better understanding of existing relationships between requirements and source code. Eventually, this information can facilitate more precise change propagation between source code and related models.

In [MaGo12b] we synthesized our previous work on traceability maintenance based on the recognition of model changes and extended and evolved that work with new research results. Furthermore, in [Cle+12b] we propose two new concepts in this context: 1) trace obligations – that help in tracking the satisfaction state of related artifacts and provide the foundation for more precise change propagation and coverage analysis; and 2) trace recommendation – that support a user in creating and maintaining traceability. We further propose to implement both concepts as user-customizable workflows.

Based on the described work we are now planning a follow-up project focusing on the integration of all developed techniques towards a more sophisticated change propagation and traceability maintenance technique.

Relevance of the project results for the development of the scientific field

A community of active researchers in the area of requirements traceability has recently published a research agenda with important topics in the field (see www.coest.org). The topics that we studied in this project fit exactly into the published agenda and evolve the current state of practice in multiple regards.

Apart from developing and proposing new techniques in the field of requirements traceability, we also contributed knowledge and ideas to the community of traceability researchers. The glossary published in [Got+12a] is the result of long discussion and great effort to agree upon a common terminology within the community. In another chapter [Got+12b], we describe together with a group of other active researcher in the area, fundamental concepts of requirements traceability. In [MaGo12a] we discuss the problem of traceability maintenance and propose an automated solution to it, while in [GoMa12] we propose a structured process for practitioners seeking for tools supporting them in doing requirements traceability. Finally, in [Egy+11] we described our vision for change propagation and consistency checking in the context of multiple related models.

Details of changes from the original project plan and reasons therefore

We deviated from the original project plan in that sense that we lay more focus on the early stages of our work plan than originally intended. Once, we started to work on the topic, we found that we needed a better understanding of what kind of changes to related models typically happen. Furthermore, we recognized that it was necessary to develop additional techniques first, before we could actually start to integrate them. We are currently planning a follow-up project that will focus on the integration of the developed techniques.

Comment about the guest institute and its support

I had very good support from the host institute in performing my work. Prof. Egyed was constantly available to talk about new ideas and ongoing work. The Johannes Kepler University provides a great and innovative environment for research. Furthermore, all departments of the Johannes Kepler University that I was in touch with were of great help. Organizational issues could seamlessly be solved.