Options
Variability-Aware Semantic Slicing Using Code Property Graphs
Abstract
A common problem 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.
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.
Publication Type
ConferencePaper
Editor • • • • • • • • • • • •
Berger, Thorsten
Collet, Philippe
Duchien, Laurence
Fogdal, Thomas
Heymans, Patrick
Kehrer, Timo
Martinez, Jabier
Mazo, Raúl
Montalvillo, Leticia
Salinesi, Camille
Tërnava, Xhevahire
Thüm, Thomas
Ziadi, Tewfik
Date Issued
2020
Faculty
Institute / Institution
Published in
23rd International Systems and Software Product Line Conference: Proceedings - Volume A
Conference
23rd International Systems and Software Product Line Conference (SPLC 2019), Paris, 09.09.-13.09.2019
Publisher
ACM
Publisher Place
New York
Page Start
65
Page End
71
ISBN
978-1-4503-7138-4
HilPub short link