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]

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 optimizationBrenno Menezes
 
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 ConditionsIRJET Journal
 
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...IRJET Journal
 
Static Slicing Technique with Algorithmic Approach
Static Slicing Technique with Algorithmic ApproachStatic Slicing Technique with Algorithmic Approach
Static Slicing Technique with Algorithmic ApproachIOSR Journals
 
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...IRJET Journal
 
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 GraphRui Wang
 
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 ...IRJET Journal
 
Optimizing Facility Layout Through Simulation
Optimizing Facility Layout Through SimulationOptimizing Facility Layout Through Simulation
Optimizing Facility Layout Through SimulationIRJET Journal
 
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]Richard Müller
 
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...IRJET Journal
 
20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data scienceKenichi Sonoda
 
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 ApplicationIRJET Journal
 
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 LearningIRJET Journal
 
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 Journal
 
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 TechniquesIRJET Journal
 
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 DriveIRJET Journal
 
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 PerformanceIRJET Journal
 
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 ...Nepal Flying Labs
 
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.docxanhlodge
 
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...NECST Lab @ Politecnico di Milano
 

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- 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
 
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
 
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

final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterHanHyoKim
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...D. B. S. College Kanpur
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPirithiRaju
 
Introduction of Human Body & Structure of cell.pptx
Introduction of Human Body & Structure of cell.pptxIntroduction of Human Body & Structure of cell.pptx
Introduction of Human Body & Structure of cell.pptxMedical College
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationColumbia Weather Systems
 
PROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalPROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalMAESTRELLAMesa2
 
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)Columbia Weather Systems
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPirithiRaju
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptJoemSTuliba
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naJASISJULIANOELYNV
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024Jene van der Heide
 
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In DubaiDubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubaikojalkojal131
 
Thermodynamics ,types of system,formulae ,gibbs free energy .pptx
Thermodynamics ,types of system,formulae ,gibbs free energy .pptxThermodynamics ,types of system,formulae ,gibbs free energy .pptx
Thermodynamics ,types of system,formulae ,gibbs free energy .pptxuniversity
 
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2AuEnriquezLontok
 
Explainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosExplainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosZachary Labe
 
Q4-Mod-1c-Quiz-Projectile-333344444.pptx
Q4-Mod-1c-Quiz-Projectile-333344444.pptxQ4-Mod-1c-Quiz-Projectile-333344444.pptx
Q4-Mod-1c-Quiz-Projectile-333344444.pptxtuking87
 
User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)Columbia Weather Systems
 

Recently uploaded (20)

final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarter
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
 
Introduction of Human Body & Structure of cell.pptx
Introduction of Human Body & Structure of cell.pptxIntroduction of Human Body & Structure of cell.pptx
Introduction of Human Body & Structure of cell.pptx
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather Station
 
PROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalPROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and Vertical
 
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdf
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.ppt
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by na
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
 
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In DubaiDubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
 
Thermodynamics ,types of system,formulae ,gibbs free energy .pptx
Thermodynamics ,types of system,formulae ,gibbs free energy .pptxThermodynamics ,types of system,formulae ,gibbs free energy .pptx
Thermodynamics ,types of system,formulae ,gibbs free energy .pptx
 
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
 
Explainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosExplainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenarios
 
Q4-Mod-1c-Quiz-Projectile-333344444.pptx
Q4-Mod-1c-Quiz-Projectile-333344444.pptxQ4-Mod-1c-Quiz-Projectile-333344444.pptx
Q4-Mod-1c-Quiz-Projectile-333344444.pptx
 
Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?
 
PLASMODIUM. PPTX
PLASMODIUM. PPTXPLASMODIUM. PPTX
PLASMODIUM. PPTX
 
User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)
 

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