SlideShare a Scribd company logo
1 of 18
Download to read offline
A Graph-Based Feature Location Approach
Using Set Theory
SPLC 2019, Challenge Solutions Track
Paris, September 11, 2019
Richard Müller and Ulrich Eisenecker
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
FEATURE LOCATION
 A feature is “a prominent or distinctive and user visible
aspect, quality, or characteristic of a software system or
systems“
 Feature location techniques aim at identifying a mapping
from features to source code elements
 Important for software maintenance of single systems
and of Software Product Lines (SPLs)
 In SPLs single features as well as feature combinations
and feature negations have to be identified
2
[Kang et al. 1990, Dit et al 2013, Rubin and Chechik 2013]
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
ARGOUML SPL BENCHMARK
 Set of scenarios each
containing a set of
ArgoUML variants
 List of features with
names and descriptions
 Java program to
automatically calculate
precision, recall, and F1-
score based on the
feature location results
and the ground-truth
3
[Martinez et al. 2018]
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
FEATURE LOCATION TAXONOMY
 Input
 Java source code artifacts
 Data source
 Software graphs created by the Java source code plugin
of jQAssistant
 Method
 Static analysis and set theory
 Output
 Text file for each feature with class and method traces
 Evaluation
 Traditional scenario of the ArgoUML SPL benchmark
4
[Dit et al. 2013]
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
 A SPL S consisting of four variants
S0 to S3 and containing two
features F1 and F2 can be
described by the following sets
CONCEPT WITH TWO FEATURES
5
CoreS0
System Features Traces
S0 none T0
S1 F1, F2 T1
S2 F1 T2
S3 F2 T3
CoreS1 CoreS2 CoreS3
𝐹1 𝑎𝑛𝑑2
𝐹2 𝑝𝑢𝑟𝑒
𝐹2
𝐹1 𝑝𝑢𝑟𝑒
𝐹1 𝑜𝑟2
𝐹1
Core Traces belonging to no feature
𝐹1 𝑝𝑢𝑟𝑒
Exclusive traces required for F1
𝐹1 𝑜𝑟2 Common traces of F1 and F2
𝐹1 𝑎𝑛𝑑2 Traces, that are only included
if F1 and F2 are present
𝐹1 Traces of 𝐹1 𝑝𝑢𝑟𝑒
and 𝐹1 𝑜𝑟2
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
SET OPERATIONS WITH TWO FEATURES
6
(1) 𝐹1 ≔ 𝐹1 𝑝𝑢𝑟𝑒
∪ 𝐹1 𝑜𝑟2 ≔ 𝑇2 ∖ 𝑇0
(2) 𝐹2 ≔ 𝐹2 𝑝𝑢𝑟𝑒
∪ 𝐹1 𝑜𝑟2 ≔ 𝑇3 ∖ 𝑇0
(3) 𝐹1 𝑝𝑢𝑟𝑒
∪ 𝐹1 𝑎𝑛𝑑2 ≔ (𝑇1 ∖ 𝑇0) ∖ 𝑇3
(4) 𝐹2 𝑝𝑢𝑟𝑒
∪ 𝐹1 𝑎𝑛𝑑2 ≔ (𝑇1 ∖ 𝑇0) ∖ 𝑇2
System Features Traces
S0 none T0
S1 F1, F2 T1
S2 F1 T2
S3 F2 T3
(5) 𝐹1 𝑎𝑛𝑑2 ≔ 𝐹1 𝑝𝑢𝑟𝑒
∪ 𝐹1 𝑎𝑛𝑑2 ∩ 𝐹2 𝑝𝑢𝑟𝑒
∪ 𝐹1 𝑎𝑛𝑑2
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
SET OPERATIONS WITH EIGHT FEATURES
(TRADITIONAL SCENARIO)
7
(6) 𝐹1 𝑝𝑢𝑟𝑒
≔
((𝑇1 ∖ 𝑇0) ∖ 𝑇2) ∖ ራ
𝑖=1
8
ራ
𝑗=𝑖+1
8
𝐹𝑖 𝑎𝑛𝑑 𝑗
(7) 𝐹2 𝑝𝑢𝑟𝑒
≔
((𝑇1 ∖ 𝑇0) ∖ 𝑇3) ∖ ራ
𝑖=1
8
ራ
𝑗=𝑖+1
8
𝐹𝑖 𝑎𝑛𝑑 𝑗
(8) 𝐹1 𝑎𝑛𝑑2 ≔
((𝑇1 ∖ 𝑇0) ∖ 𝑇2) ∩ ((𝑇1 ∖ 𝑇0) ∖ 𝑇3)
System Features Traces
S0 None T0
S1 F1, F2, F3, F4, F5, F6, F7, F8 T1
S2 F2, F3, F4, F5, F6, F7, F8 T2
S3 F1, F3, F4, F5, F6, F7, F8 T3
S4 F1, F2, F4, F5, F6, F7, F8 T4
S5 F1, F2, F3, F5, F6, F7, F8 T5
S6 F1, F2, F3, F4, F6, F7, F8 T6
S7 F1, F2, F3, F4, F5, F7, F8 T7
S8 F1, F2, F3, F4, F5, F6, F8 T8
S9 F1, F2, F3, F4, F5, F6, F7 T9
 These operations have to be repeated for features 𝐹3 to 𝐹8
 Due to the given configurations, it is not possible to determine the sets
of common (or) feature traces in the traditional scenario
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
HOW MANY SYSTEMS AND HOW MANY
ELEMENTARY SETS EXIST IN THE CHALLENGE?
 Systems 𝑓 ≔ 1 + ෍
𝑖=1
𝑓
𝑓
𝑖
≔ 2 𝑓
 Elementary Sets 𝑓 ≔ 𝑓 + 2 ∗ ෍
𝑖=2
𝑓
𝑓
𝑖
≔ 2 𝑓+1 − 𝑓 − 2
 The ArgoUML SPL contains 8 features
 There are 256 possible variants
 Systems 8 ≔ 256
 and 502 elementary sets
 Elementary Sets 8 ≔ 502
8
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
IMPLEMENTATION
9
 Java source code plugin for jQAssistant
(jQA)
 Graph Database Neo4j
 Query language Cypher with Awesome
Procedures On Cypher (APOC)
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
SOFTWARE GRAPH
10
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
TRACE GRAPH
11
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
EVALUATION WITH PRUNED GROUND-TRUTH
Name Precision Recall F1-score
ACTIVITYDIAGRAM 1.00 0.49 0.66
ACTIVITYDIAGRAM_and_STATEDIAGRAM 1.00 1.00 1.00
COGNITIVE 1.00 1.00 1.00
COGNITIVE_and_DEPLOYMENTDIAGRAM 1.00 0.93 0.96
COGNITIVE_and_SEQUENCEDIAGRAM 1.00 1.00 1.00
COLLABORATIONDIAGRAM 1.00 0.95 0.98
COLLABORATIONDIAGRAM_and_SEQUENCEDIAGRAM 1.00 1.00 1.00
DEPLOYMENTDIAGRAM 1.00 1.00 1.00
LOGGING 1.00 0.67 0.80
SEQUENCEDIAGRAM 1.00 0.96 0.98
STATEDIAGRAM 1.00 0.63 0.77
USECASEDIAGRAM 1.00 1.00 1.00
Average 1.00 0.89 0.93
12
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
STRENGTHS & WEAKNESSES
 The approach locates
features, feature
combinations, and feature
negations with a precision
of 1.0 and a recall of 1.0
provided, the required
sets of software traces are
available
 The implementation of the
technique is very compact
13
 Initially, we manually
defined the elementary
feature subsets in a
given scenario, now, an
adequate algorithm is
implemented
 Currently, the jQA plugin
does not consider
imports, fields, and
method statements
 Time performance (6 min
per variant)
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
CONCLUSION
 We mapped the given problem to set theory and
developed a graph-based solution for the traditional
scenario with Java, Neo4j, and Cypher
 Our solution locates exclusive (pure) traces and pair-
wise feature interaction (and) traces to complete classes
and methods of 12 out of 24 features and feature
combinations with a precision of 1.0 and a recall of 1.0
14
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
FUTURE WORK
 Extend the jQA plugin to scan imports, fields, and
method statements
 Include the the algorithm for defining all elementary
feature subsets for a given scenario to automate feature
location in the context of the ArgoUML SPL benchmark
 Identify performance bottlenecks and apply adequate
optimizations
 Combine the approach with alternative techniques in
scenarios with less or no variants
15
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
ARTIFACTS
 Challenge solution for the traditional scenario
 https://github.com/softvis-research/argouml-spl-
benchmark
 Java source code plugin for jQAssistant
 https://github.com/softvis-research/jqa-javasrc-
plugin/tree/splc-challenge
 Algorithm to calculate all elementary feature sets of a
given scenario
 https://github.com/softvis-research/featurelocation
16
SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory
Information Systems Institute, Software Engineering Department
REFERENCES
 Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013.
Feature location in source code: a taxonomy and survey. J. Softw. Evol. Process 25,
1 (2013), 53–95.
 Jabier Martinez, Nicolas Ordoñez, Xhevahire Tërnava, Tewfik Ziadi, Jairo Aponte,
Eduardo Figueiredo, and Marco Tulio Valente. 2018. Feature Location Benchmark
with argoUML SPL. In Proc. 22Nd Int. Syst. Softw. Prod. Line Conf. Vol. 1
(SPLC’18). ACM, New York, NY, USA, 257–263.
 Julia Rubin and Marsha Chechik. 2013. A Survey of Feature Location Techniques. In
Domain Eng. Prod. Lines, Lang. Concept. Model. 29–58.
 Kang K. C., Sholom G Cohen, James A Hess, William E Novak, A Spencer Peterson,
Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990.
Feasibility Study Feature-Oriented Domain Analysis (FODA). Technical Report
November. Carnegie-Mellon University Software Engineering Institute.
 Richard Müller, Dirk Mahler, Michael Hunger, Jens Nerche, and Markus Harrer. 2018.
Towards an Open Source Stack to Create a Unified Data Source for Software
Analysis and Visualization. In Proc. 6th IEEE Work. Conf. Softw. Vis. IEEE, Madrid,
Spain.
17
THANK YOU.
Richard Müller and Ulrich Eisenecker
Information Systems Institute, Software Engineering Department
rmueller@wifa.uni-leipzig.de
@rimllr
https://github.com/softvis-research
http://softvis.wifa.uni-leipzig.de
18

More Related Content

Similar to A Graph-based Feature Location Approach using Set Theory [SPLC2019]

School of Computing, Science & EngineeringAssessment Briefin.docx
School of Computing, Science & EngineeringAssessment Briefin.docxSchool of Computing, Science & EngineeringAssessment Briefin.docx
School of Computing, Science & EngineeringAssessment Briefin.docx
anhlodge
 

Similar to A Graph-based Feature Location Approach using Set Theory [SPLC2019] (20)

Crude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimizationCrude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimization
 
Partial Object Detection in Inclined Weather Conditions
Partial Object Detection in Inclined Weather ConditionsPartial Object Detection in Inclined Weather Conditions
Partial Object Detection in Inclined Weather Conditions
 
IRJET-Hardware Co-Simulation of Classical Edge Detection Algorithms using Xil...
IRJET-Hardware Co-Simulation of Classical Edge Detection Algorithms using Xil...IRJET-Hardware Co-Simulation of Classical Edge Detection Algorithms using Xil...
IRJET-Hardware Co-Simulation of Classical Edge Detection Algorithms using Xil...
 
Static Slicing Technique with Algorithmic Approach
Static Slicing Technique with Algorithmic ApproachStatic Slicing Technique with Algorithmic Approach
Static Slicing Technique with Algorithmic Approach
 
IRJET- Comparative Study of PCA, KPCA, KFA and LDA Algorithms for Face Re...
IRJET-  	  Comparative Study of PCA, KPCA, KFA and LDA Algorithms for Face Re...IRJET-  	  Comparative Study of PCA, KPCA, KFA and LDA Algorithms for Face Re...
IRJET- Comparative Study of PCA, KPCA, KFA and LDA Algorithms for Face Re...
 
Using Set Cover to Optimize a Large-Scale Low Latency Distributed Graph
Using Set Cover to Optimize a Large-Scale Low Latency Distributed GraphUsing Set Cover to Optimize a Large-Scale Low Latency Distributed Graph
Using Set Cover to Optimize a Large-Scale Low Latency Distributed Graph
 
Comparative Analysis of Tuning Hyperparameters in Policy-Based DRL Algorithm ...
Comparative Analysis of Tuning Hyperparameters in Policy-Based DRL Algorithm ...Comparative Analysis of Tuning Hyperparameters in Policy-Based DRL Algorithm ...
Comparative Analysis of Tuning Hyperparameters in Policy-Based DRL Algorithm ...
 
Optimizing Facility Layout Through Simulation
Optimizing Facility Layout Through SimulationOptimizing Facility Layout Through Simulation
Optimizing Facility Layout Through Simulation
 
Graph-Based Performance Analysis at System- and Application-Level [SSP 2020]
Graph-Based Performance Analysis at System- and Application-Level [SSP 2020]Graph-Based Performance Analysis at System- and Application-Level [SSP 2020]
Graph-Based Performance Analysis at System- and Application-Level [SSP 2020]
 
IRJET- Front View Identification of Vehicles by using Machine Learning Te...
IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...
IRJET- Front View Identification of Vehicles by using Machine Learning Te...
 
20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science
 
IRJET - Wavelet based Image Fusion using FPGA for Biomedical Application
 IRJET - Wavelet based Image Fusion using FPGA for Biomedical Application IRJET - Wavelet based Image Fusion using FPGA for Biomedical Application
IRJET - Wavelet based Image Fusion using FPGA for Biomedical Application
 
IRJET - Airplane Crash Analysis and Prediction using Machine Learning
IRJET - Airplane Crash Analysis and Prediction using Machine LearningIRJET - Airplane Crash Analysis and Prediction using Machine Learning
IRJET - Airplane Crash Analysis and Prediction using Machine Learning
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation Techniques
 
IRJET- Deep Learning Model to Predict Hardware Performance
IRJET- Deep Learning Model to Predict Hardware PerformanceIRJET- Deep Learning Model to Predict Hardware Performance
IRJET- Deep Learning Model to Predict Hardware Performance
 
IRJET- Analysis of PV Fed Vector Controlled Induction Motor Drive
IRJET- Analysis of PV Fed Vector Controlled Induction Motor DriveIRJET- Analysis of PV Fed Vector Controlled Induction Motor Drive
IRJET- Analysis of PV Fed Vector Controlled Induction Motor Drive
 
TWO MOST COMMON GEOGRAPHIC INFORMATION SERVICE STANDARDS 19116:2004 AND ISO ...
TWO MOST COMMON GEOGRAPHIC INFORMATION SERVICE STANDARDS 19116:2004 AND  ISO ...TWO MOST COMMON GEOGRAPHIC INFORMATION SERVICE STANDARDS 19116:2004 AND  ISO ...
TWO MOST COMMON GEOGRAPHIC INFORMATION SERVICE STANDARDS 19116:2004 AND ISO ...
 
School of Computing, Science & EngineeringAssessment Briefin.docx
School of Computing, Science & EngineeringAssessment Briefin.docxSchool of Computing, Science & EngineeringAssessment Briefin.docx
School of Computing, Science & EngineeringAssessment Briefin.docx
 
The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...
 

Recently uploaded

Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Sérgio Sacani
 
Climate extremes likely to drive land mammal extinction during next supercont...
Climate extremes likely to drive land mammal extinction during next supercont...Climate extremes likely to drive land mammal extinction during next supercont...
Climate extremes likely to drive land mammal extinction during next supercont...
Sérgio Sacani
 
The solar dynamo begins near the surface
The solar dynamo begins near the surfaceThe solar dynamo begins near the surface
The solar dynamo begins near the surface
Sérgio Sacani
 
Jet reorientation in central galaxies of clusters and groups: insights from V...
Jet reorientation in central galaxies of clusters and groups: insights from V...Jet reorientation in central galaxies of clusters and groups: insights from V...
Jet reorientation in central galaxies of clusters and groups: insights from V...
Sérgio Sacani
 

Recently uploaded (20)

Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
 
GBSN - Microbiology (Unit 6) Human and Microbial interaction
GBSN - Microbiology (Unit 6) Human and Microbial interactionGBSN - Microbiology (Unit 6) Human and Microbial interaction
GBSN - Microbiology (Unit 6) Human and Microbial interaction
 
Film Coated Tablet and Film Coating raw materials.pdf
Film Coated Tablet and Film Coating raw materials.pdfFilm Coated Tablet and Film Coating raw materials.pdf
Film Coated Tablet and Film Coating raw materials.pdf
 
ERTHROPOIESIS: Dr. E. Muralinath & R. Gnana Lahari
ERTHROPOIESIS: Dr. E. Muralinath & R. Gnana LahariERTHROPOIESIS: Dr. E. Muralinath & R. Gnana Lahari
ERTHROPOIESIS: Dr. E. Muralinath & R. Gnana Lahari
 
Climate extremes likely to drive land mammal extinction during next supercont...
Climate extremes likely to drive land mammal extinction during next supercont...Climate extremes likely to drive land mammal extinction during next supercont...
Climate extremes likely to drive land mammal extinction during next supercont...
 
Extensive Pollution of Uranus and Neptune’s Atmospheres by Upsweep of Icy Mat...
Extensive Pollution of Uranus and Neptune’s Atmospheres by Upsweep of Icy Mat...Extensive Pollution of Uranus and Neptune’s Atmospheres by Upsweep of Icy Mat...
Extensive Pollution of Uranus and Neptune’s Atmospheres by Upsweep of Icy Mat...
 
Biochemistry and Biomolecules - Science - 9th Grade by Slidesgo.pptx
Biochemistry and Biomolecules - Science - 9th Grade by Slidesgo.pptxBiochemistry and Biomolecules - Science - 9th Grade by Slidesgo.pptx
Biochemistry and Biomolecules - Science - 9th Grade by Slidesgo.pptx
 
NuGOweek 2024 programme final FLYER short.pdf
NuGOweek 2024 programme final FLYER short.pdfNuGOweek 2024 programme final FLYER short.pdf
NuGOweek 2024 programme final FLYER short.pdf
 
GBSN - Microbiology Lab (Compound Microscope)
GBSN - Microbiology Lab (Compound Microscope)GBSN - Microbiology Lab (Compound Microscope)
GBSN - Microbiology Lab (Compound Microscope)
 
Plasma proteins_ Dr.Muralinath_Dr.c. kalyan
Plasma proteins_ Dr.Muralinath_Dr.c. kalyanPlasma proteins_ Dr.Muralinath_Dr.c. kalyan
Plasma proteins_ Dr.Muralinath_Dr.c. kalyan
 
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 RpWASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
 
EU START PROJECT. START-Newsletter_Issue_4.pdf
EU START PROJECT. START-Newsletter_Issue_4.pdfEU START PROJECT. START-Newsletter_Issue_4.pdf
EU START PROJECT. START-Newsletter_Issue_4.pdf
 
B lymphocytes, Receptors, Maturation and Activation
B lymphocytes, Receptors, Maturation and ActivationB lymphocytes, Receptors, Maturation and Activation
B lymphocytes, Receptors, Maturation and Activation
 
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
 
The Scientific names of some important families of Industrial plants .pdf
The Scientific names of some important families of Industrial plants .pdfThe Scientific names of some important families of Industrial plants .pdf
The Scientific names of some important families of Industrial plants .pdf
 
Lubrication System in forced feed system
Lubrication System in forced feed systemLubrication System in forced feed system
Lubrication System in forced feed system
 
NuGOweek 2024 full programme - hosted by Ghent University
NuGOweek 2024 full programme - hosted by Ghent UniversityNuGOweek 2024 full programme - hosted by Ghent University
NuGOweek 2024 full programme - hosted by Ghent University
 
The solar dynamo begins near the surface
The solar dynamo begins near the surfaceThe solar dynamo begins near the surface
The solar dynamo begins near the surface
 
Jet reorientation in central galaxies of clusters and groups: insights from V...
Jet reorientation in central galaxies of clusters and groups: insights from V...Jet reorientation in central galaxies of clusters and groups: insights from V...
Jet reorientation in central galaxies of clusters and groups: insights from V...
 
Plasmapheresis - Dr. E. Muralinath - Kalyan . C.pptx
Plasmapheresis - Dr. E. Muralinath - Kalyan . C.pptxPlasmapheresis - Dr. E. Muralinath - Kalyan . C.pptx
Plasmapheresis - Dr. E. Muralinath - Kalyan . C.pptx
 

A Graph-based Feature Location Approach using Set Theory [SPLC2019]

  • 1. A Graph-Based Feature Location Approach Using Set Theory SPLC 2019, Challenge Solutions Track Paris, September 11, 2019 Richard Müller and Ulrich Eisenecker
  • 2. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department FEATURE LOCATION  A feature is “a prominent or distinctive and user visible aspect, quality, or characteristic of a software system or systems“  Feature location techniques aim at identifying a mapping from features to source code elements  Important for software maintenance of single systems and of Software Product Lines (SPLs)  In SPLs single features as well as feature combinations and feature negations have to be identified 2 [Kang et al. 1990, Dit et al 2013, Rubin and Chechik 2013]
  • 3. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department ARGOUML SPL BENCHMARK  Set of scenarios each containing a set of ArgoUML variants  List of features with names and descriptions  Java program to automatically calculate precision, recall, and F1- score based on the feature location results and the ground-truth 3 [Martinez et al. 2018]
  • 4. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department FEATURE LOCATION TAXONOMY  Input  Java source code artifacts  Data source  Software graphs created by the Java source code plugin of jQAssistant  Method  Static analysis and set theory  Output  Text file for each feature with class and method traces  Evaluation  Traditional scenario of the ArgoUML SPL benchmark 4 [Dit et al. 2013]
  • 5. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department  A SPL S consisting of four variants S0 to S3 and containing two features F1 and F2 can be described by the following sets CONCEPT WITH TWO FEATURES 5 CoreS0 System Features Traces S0 none T0 S1 F1, F2 T1 S2 F1 T2 S3 F2 T3 CoreS1 CoreS2 CoreS3 𝐹1 𝑎𝑛𝑑2 𝐹2 𝑝𝑢𝑟𝑒 𝐹2 𝐹1 𝑝𝑢𝑟𝑒 𝐹1 𝑜𝑟2 𝐹1 Core Traces belonging to no feature 𝐹1 𝑝𝑢𝑟𝑒 Exclusive traces required for F1 𝐹1 𝑜𝑟2 Common traces of F1 and F2 𝐹1 𝑎𝑛𝑑2 Traces, that are only included if F1 and F2 are present 𝐹1 Traces of 𝐹1 𝑝𝑢𝑟𝑒 and 𝐹1 𝑜𝑟2
  • 6. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department SET OPERATIONS WITH TWO FEATURES 6 (1) 𝐹1 ≔ 𝐹1 𝑝𝑢𝑟𝑒 ∪ 𝐹1 𝑜𝑟2 ≔ 𝑇2 ∖ 𝑇0 (2) 𝐹2 ≔ 𝐹2 𝑝𝑢𝑟𝑒 ∪ 𝐹1 𝑜𝑟2 ≔ 𝑇3 ∖ 𝑇0 (3) 𝐹1 𝑝𝑢𝑟𝑒 ∪ 𝐹1 𝑎𝑛𝑑2 ≔ (𝑇1 ∖ 𝑇0) ∖ 𝑇3 (4) 𝐹2 𝑝𝑢𝑟𝑒 ∪ 𝐹1 𝑎𝑛𝑑2 ≔ (𝑇1 ∖ 𝑇0) ∖ 𝑇2 System Features Traces S0 none T0 S1 F1, F2 T1 S2 F1 T2 S3 F2 T3 (5) 𝐹1 𝑎𝑛𝑑2 ≔ 𝐹1 𝑝𝑢𝑟𝑒 ∪ 𝐹1 𝑎𝑛𝑑2 ∩ 𝐹2 𝑝𝑢𝑟𝑒 ∪ 𝐹1 𝑎𝑛𝑑2
  • 7. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department SET OPERATIONS WITH EIGHT FEATURES (TRADITIONAL SCENARIO) 7 (6) 𝐹1 𝑝𝑢𝑟𝑒 ≔ ((𝑇1 ∖ 𝑇0) ∖ 𝑇2) ∖ ራ 𝑖=1 8 ራ 𝑗=𝑖+1 8 𝐹𝑖 𝑎𝑛𝑑 𝑗 (7) 𝐹2 𝑝𝑢𝑟𝑒 ≔ ((𝑇1 ∖ 𝑇0) ∖ 𝑇3) ∖ ራ 𝑖=1 8 ራ 𝑗=𝑖+1 8 𝐹𝑖 𝑎𝑛𝑑 𝑗 (8) 𝐹1 𝑎𝑛𝑑2 ≔ ((𝑇1 ∖ 𝑇0) ∖ 𝑇2) ∩ ((𝑇1 ∖ 𝑇0) ∖ 𝑇3) System Features Traces S0 None T0 S1 F1, F2, F3, F4, F5, F6, F7, F8 T1 S2 F2, F3, F4, F5, F6, F7, F8 T2 S3 F1, F3, F4, F5, F6, F7, F8 T3 S4 F1, F2, F4, F5, F6, F7, F8 T4 S5 F1, F2, F3, F5, F6, F7, F8 T5 S6 F1, F2, F3, F4, F6, F7, F8 T6 S7 F1, F2, F3, F4, F5, F7, F8 T7 S8 F1, F2, F3, F4, F5, F6, F8 T8 S9 F1, F2, F3, F4, F5, F6, F7 T9  These operations have to be repeated for features 𝐹3 to 𝐹8  Due to the given configurations, it is not possible to determine the sets of common (or) feature traces in the traditional scenario
  • 8. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department HOW MANY SYSTEMS AND HOW MANY ELEMENTARY SETS EXIST IN THE CHALLENGE?  Systems 𝑓 ≔ 1 + ෍ 𝑖=1 𝑓 𝑓 𝑖 ≔ 2 𝑓  Elementary Sets 𝑓 ≔ 𝑓 + 2 ∗ ෍ 𝑖=2 𝑓 𝑓 𝑖 ≔ 2 𝑓+1 − 𝑓 − 2  The ArgoUML SPL contains 8 features  There are 256 possible variants  Systems 8 ≔ 256  and 502 elementary sets  Elementary Sets 8 ≔ 502 8
  • 9. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department IMPLEMENTATION 9  Java source code plugin for jQAssistant (jQA)  Graph Database Neo4j  Query language Cypher with Awesome Procedures On Cypher (APOC)
  • 10. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department SOFTWARE GRAPH 10
  • 11. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department TRACE GRAPH 11
  • 12. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department EVALUATION WITH PRUNED GROUND-TRUTH Name Precision Recall F1-score ACTIVITYDIAGRAM 1.00 0.49 0.66 ACTIVITYDIAGRAM_and_STATEDIAGRAM 1.00 1.00 1.00 COGNITIVE 1.00 1.00 1.00 COGNITIVE_and_DEPLOYMENTDIAGRAM 1.00 0.93 0.96 COGNITIVE_and_SEQUENCEDIAGRAM 1.00 1.00 1.00 COLLABORATIONDIAGRAM 1.00 0.95 0.98 COLLABORATIONDIAGRAM_and_SEQUENCEDIAGRAM 1.00 1.00 1.00 DEPLOYMENTDIAGRAM 1.00 1.00 1.00 LOGGING 1.00 0.67 0.80 SEQUENCEDIAGRAM 1.00 0.96 0.98 STATEDIAGRAM 1.00 0.63 0.77 USECASEDIAGRAM 1.00 1.00 1.00 Average 1.00 0.89 0.93 12
  • 13. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department STRENGTHS & WEAKNESSES  The approach locates features, feature combinations, and feature negations with a precision of 1.0 and a recall of 1.0 provided, the required sets of software traces are available  The implementation of the technique is very compact 13  Initially, we manually defined the elementary feature subsets in a given scenario, now, an adequate algorithm is implemented  Currently, the jQA plugin does not consider imports, fields, and method statements  Time performance (6 min per variant)
  • 14. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department CONCLUSION  We mapped the given problem to set theory and developed a graph-based solution for the traditional scenario with Java, Neo4j, and Cypher  Our solution locates exclusive (pure) traces and pair- wise feature interaction (and) traces to complete classes and methods of 12 out of 24 features and feature combinations with a precision of 1.0 and a recall of 1.0 14
  • 15. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department FUTURE WORK  Extend the jQA plugin to scan imports, fields, and method statements  Include the the algorithm for defining all elementary feature subsets for a given scenario to automate feature location in the context of the ArgoUML SPL benchmark  Identify performance bottlenecks and apply adequate optimizations  Combine the approach with alternative techniques in scenarios with less or no variants 15
  • 16. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department ARTIFACTS  Challenge solution for the traditional scenario  https://github.com/softvis-research/argouml-spl- benchmark  Java source code plugin for jQAssistant  https://github.com/softvis-research/jqa-javasrc- plugin/tree/splc-challenge  Algorithm to calculate all elementary feature sets of a given scenario  https://github.com/softvis-research/featurelocation 16
  • 17. SPLC 2019 | A Graph-Based Feature Location Approach Using Set Theory Information Systems Institute, Software Engineering Department REFERENCES  Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature location in source code: a taxonomy and survey. J. Softw. Evol. Process 25, 1 (2013), 53–95.  Jabier Martinez, Nicolas Ordoñez, Xhevahire Tërnava, Tewfik Ziadi, Jairo Aponte, Eduardo Figueiredo, and Marco Tulio Valente. 2018. Feature Location Benchmark with argoUML SPL. In Proc. 22Nd Int. Syst. Softw. Prod. Line Conf. Vol. 1 (SPLC’18). ACM, New York, NY, USA, 257–263.  Julia Rubin and Marsha Chechik. 2013. A Survey of Feature Location Techniques. In Domain Eng. Prod. Lines, Lang. Concept. Model. 29–58.  Kang K. C., Sholom G Cohen, James A Hess, William E Novak, A Spencer Peterson, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feasibility Study Feature-Oriented Domain Analysis (FODA). Technical Report November. Carnegie-Mellon University Software Engineering Institute.  Richard Müller, Dirk Mahler, Michael Hunger, Jens Nerche, and Markus Harrer. 2018. Towards an Open Source Stack to Create a Unified Data Source for Software Analysis and Visualization. In Proc. 6th IEEE Work. Conf. Softw. Vis. IEEE, Madrid, Spain. 17
  • 18. THANK YOU. Richard Müller and Ulrich Eisenecker Information Systems Institute, Software Engineering Department rmueller@wifa.uni-leipzig.de @rimllr https://github.com/softvis-research http://softvis.wifa.uni-leipzig.de 18