M.Sc. Lea Kristin Gerling
Kontakt:
E-Mail KontaktformularRaum: B 141 Spl - Gebäude B (Samelson-Campus)
Sprechzeit: Nur nach Vereinbarung (per Mail)
Homepage: https://sse.uni-hildesheim.de/mitglieder/lea-kristin-gerling/ Homepage
Tätigkeitsbereiche:
- Inst. für Informatik - Abteilung Software Systems Engineering [Wiss. Angestellte]
Publikationen
Lfd. Nr. | Publikation |
---|---|
2020 | |
5. |
Lea Kristin Gerling und Klaus Schmid
(2020):
Syntax-Preserving Slicing of C-BasedSoftware Product Lines: An Experience Report
In:
Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems (VaMoS '20)
S. 1-5.
ACM.
Article 17
Zusammenfassung Program slicing is an important technique for various follow-up activities like program understanding or feature identification. So far only little work exists on program slicing of product lines. A key challenge in this context is to identify a slice including the implementation as well as the (relevant) variability information. It is our goal to create a program slicing approach to identify semantically related lines of code in a C-based software product line, using the C-Preprocessor as the basis for variability implementation. However, at the time of our research no existing approach was able to produce a program slice that fully preserves the structure of the preprocessor code. Thus, the variability structure in the slice was no longer intact. This is problematic as the desired slice should be a real subset of the product line implementation without modification of the syntax. Thus, we had to create a new syntax-preserving variability-aware slicing technique. In this paper, we report our experiences with the conception and implementation of this technique. We highlight the key challenges and our proposed solutions to foster discussions and future research about the handling of variability in static analysis. |
2019 | |
4. |
Lea Kristin Gerling und Klaus Schmid
(2019):
Variability-Aware Semantic Slicing Using Code Property Graphs
In:
Proceedings of the 23rd International Systems and Software Product Line Conference (SPLC'19)
S. 65-71.
ACM.
Zusammenfassung Acommonproblem in program analysis is to identify semantically related statements in programs, for example, which statements change the value of a variable, or implement a specific feature or functionality. This is a very challenging task for large programs and gets even more complicated in the presence of variability implementations like #ifdef-annotations. Program slicing is a technique that can be used to aid developers with this challenge. But while slicing is a well-established technique for individual programs, there has been so far only little work on program slicing of product lines. Here,we introduce a static-analysis approach for semantic slicing of product lines. Our approach introduces the novel concept of a variability-aware code property graph, which combines information about code properties (like statement type) and syntactical structure with data- and control-flow information. This graph is then traversed to gather semantically-related lines of code for a given entry node.We demonstrate our approach with a C-example, including preprocessor statements. |
3. |
Christian Kröher, Lea Kristin Gerling und Klaus Schmid
(2019):
Identifying the Intensity of Variability Changes in Software Product Line Evolution
In:
Proceedings of the 2019 Software Engineering and Software Management Conference (SE'19) in Lecture Notes in Informatics (LNI)
Bd. P-292.
S. 105-106.
Gesellschaft für Informatik e.V. (GI).
Zusammenfassung This extended abstract summarizes the paper Identifying the Intensity of Variability Changes in Software Product Line Evolution [KGS18] published in the proceedings of the SPLC 2018 [BBB+18]. |
2018 | |
2. |
Lea Gerling
(2018):
Automated Migration Support for Software Product Line Co-Evolution
In:
Proceedings of the 40th International Conference on Software Engineering (ICSE'18): Companion Proceedings
S. 456-457.
ACM.
Zusammenfassung The idea of automated migration support arises from the problems observed in practice and the missing solutions for software product line (SPL) co-evolution support. In practice it is common to realize new functionality via unsystematic code cloning: A product is separated from its related SPL and then modified. When a separated product and the SPL evolve over time, this is called SPL co-evolution. During this process, developers have to manually migrate, for example, features or bugfixes between the SPL and the product. Currently, there exists only partial automated solutions for this use case. The presented approach is the first, which aims at using semantic merging to migrate arbitrary semantic units, like features or bugfixes, between a SPL and separated products. The resulting solutions will be evaluated using real and artificial SPLs. |
1. |
Christian Kröher, Lea Kristin Gerling und Klaus Schmid
(2018):
Identifying the Intensity of Variability Changes in Software Product Line Evolution
In:
Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC'18)
Bd. 1.
S. 54-64.
ACM.
Best Paper Award
Zusammenfassung The evolution of a Software Product Line (SPL) typically affects a variety of artifact types. The intensity (the frequency and the amount) in which developers change variability information in these different types of artifacts is currently unknown. In this paper, we present a fine-grained approach for the variability-centric extraction and analysis of changes to code, build, and variability model artifacts introduced by commits. This approach complements existing work that is typically based on a feature-perspective and, thus, abstracts from this level of detail. Further, it provides a detailed understanding of the intensity of changes affecting variability information in these types of artifacts. We apply our approach to the Linux kernel revealing that changes to variability information occur infrequently and only affect small parts of the analyzed artifacts. Further, we outline how these results may improve certain analysis and verification tasks during SPL evolution. |