SlideShare a Scribd company logo
1 of 34
Download to read offline
Requirements Traceability for Object OrientedRequirements Traceability for Object Oriented
Systems by Partitioning Source CodeSystems by Partitioning Source CodeSystems by Partitioning Source CodeSystems by Partitioning Source Code
WCRE 2011, Limerick, IrelandWCRE 2011, Limerick, Ireland
Nasir Ali, Yann-Gaël Guéhéneuc, and Giuliano Antoniol
Requirements Traceability
Requirements traceability is defined as “the
ability to describe and follow the life of a
requirement, in both a forwards and backwards
direction”direction” [Gotel, 1994]
2WCRE 2011
What’s Requirements Traceability Good For?
Program Comprehension
Discover what code must change to handle a
new requirementnew requirement
Aid in determining whether a specification is
completely implemented
3WCRE 2011
IR-based Approaches
• Vector Space Model (Antoniol et al. 2002)
• Latent Semantic Indexing (Marcus and Maletic, 2003)
• Jensen Shannon Divergence (Abadi et al. 2008)
• Latent Dirichlet Allocation (Asuncion, 2010)
4WCRE 2011
Problem in IR-based Approaches
Requirement
5WCRE 2011
Goal
• Reduce manual effort required to verify false-
positive links
• Increase F-measure• Increase F-measure
6WCRE 2011
Coparvo - COde PARtitioning and VOting
1. Partitioning source code
2. Defining experts
7WCRE 2011
2. Defining experts
3. Link recovery and expert voting
Partitioning Source Code
Class Name
8WCRE 2011
Method Name
Variable Name
Comments
Defining Experts
Class Name A
Class Name B
Merged Class Names
------------------------------------
Class Name A
Class Name B
Class Name C
9WCRE 2011
Class Name C
Class Name D
Class Name C
Class Name D
Performed same step for method, variable names, comments, and requirements
Defining Experts (Cont.)
Merged Class Names Merged Requirements
------------------------------------
Requirement 1
Requirement 1
Merged Method Names
20%
70%
10WCRE 2011
Requirement 1
……….
……
Requirement N
Merged Variable Names
Merged Comments
40%
60%
Defining Experts (Cont.)
Method Name
Comments
70%
60%
11WCRE 2011
Variable Names
Class Names
40%
20%
Extreme Cases:
•5% difference in two experts
•95% difference in two experts
Link Recovery and Expert Voting
Class A Requirements
------------------------------------
Email client must
support pop3
12WCRE 2011
support pop3
integration……….
Method Names of Class A
Comments of Class A
Case Studies
• Goal: Investigate the effectiveness of Coparvo in
improving the accuracy of VSM and reducing the
effort required to manually discard false-positive
links
• Quality focus: Ability to recover traceability links
13WCRE 2011
• Quality focus: Ability to recover traceability links
between requirements and source code
• Context: Recovering requirements traceability
links of three open-source programs, Pooka, SIP,
and iTrust
Research Questions
R01: How does Coparvo help to find valuable partitions of
source code that help in recovering traceability links?
R02: How much Coparvo helps to reduce the effort required
14
R02: How much Coparvo helps to reduce the effort required
to manually verify recovered traceability links?
R03: How does the F-measure value of the traceability links
recovered by Coparvo compare with a traditional VSM-
based approach?
WCRE 2011
Datasets
SIP Communicator: Voice over IP and instate messenger
Pooka: An email Client
iTrust: Medical Application
15
Pooka SIP Communicator iTrust
Version 2.0 1.0 10
Number of Classes 298 1,771 526
Number of Methods 20,868 31,502 3,404
LOC 244K 487K 19K
WCRE 2011
IR Quality Measures
16WCRE 2011
callecision
callecision
F
RePr
RePr
2
+
×
×=
Source Code Partitions
1.Class name
1.Method name
17
2.Variable name
3.Comments
WCRE 2011
Text Preprocessing
• Filter (#43@$)
18
• Stop words (the, is, an….)
• Stemmer
(attachment, attached -> attach)
WCRE 2011
Information Retrieval (IR) Methods
• Vector Space Model (VSM)
– Each document, d, is represented by a vector of ranks of
the terms in the vocabulary:
vd = [rd(w1), rd(w2), …, rd(w|V|)]
– The query is similarly represented by a vector– The query is similarly represented by a vector
– The similarity between the query and document is the
cosine of the angle between their respective vectors
19WCRE 2011
Defining Expert
40
50
60
CN
20WCRE 2011
0
10
20
30
Pooka SIP iTrust
MN
VN
Cmt
Pooka Results
21WCRE 2011
SIP Comm. Results
22WCRE 2011
iTrust Results
23WCRE 2011
Voting vs. Combination
• Can we only use different combinations
of source code partitions to create
requirements traceability links?
24WCRE 2011
• How much a combination of source code
improves the F-measure?
Pooka Results
25WCRE 2011
SIP Comm. Results
26WCRE 2011
iTrust Results
27WCRE 2011
Statistical Tests
Non-parametric test – Mann-Whitney test
28WCRE 2011
F-measure
Pooka SIP Comm. iTrust
P-value p<0.01 p<0.01 p<0.01
Effort Analysis
40,000
50,000
60,000
70,000
80,000
90,000
VSM
29WCRE 2011
0
10,000
20,000
30,000
40,000
Pooka SIP Comm. iTrust
Coparvo
Effort Analysis (F-Measure)
8
10
12
14
VSM
30WCRE 2011
0
2
4
6
Pooka SIP Comm. iTrust
VSM
Coparvo
RQ Answers
R01: Combinations or single source-code partitions also
sometime provides better results than Coparvo
R02: Using different source of information reduces
experts’ effort up to 83%experts’ effort up to 83%
R03: Partitioning source code and using the partitions as
experts for voting yields better accuracy
31WCRE 2011
Threats to Validity
• External validity:
• We analyzed only three systems
• Different source code size
• Construct validity:
• The two researchers built both oracles
• Oracles were validated by the other two experts
• iTrust oracle was developed by developer(s)
• Conclusion validity: Non-parametric test
• Tool is online at www.factrace.net
32WCRE 2011
Ongoing work
More IR approaches
Empirical study
Threshold
33WCRE 2011
Questions?
34WCRE 2011

More Related Content

What's hot

Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
IJECEIAES
 

What's hot (10)

Re2018 Semios for Requirements
Re2018 Semios for RequirementsRe2018 Semios for Requirements
Re2018 Semios for Requirements
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Apollon wp1 d1 summary
Apollon wp1 d1 summaryApollon wp1 d1 summary
Apollon wp1 d1 summary
 
DCCN 2016 - QoS to QoE
DCCN 2016 - QoS to QoEDCCN 2016 - QoS to QoE
DCCN 2016 - QoS to QoE
 
FAULT MODELING OF COMBINATIONAL AND SEQUENTIAL CIRCUITS AT REGISTER TRANSFER ...
FAULT MODELING OF COMBINATIONAL AND SEQUENTIAL CIRCUITS AT REGISTER TRANSFER ...FAULT MODELING OF COMBINATIONAL AND SEQUENTIAL CIRCUITS AT REGISTER TRANSFER ...
FAULT MODELING OF COMBINATIONAL AND SEQUENTIAL CIRCUITS AT REGISTER TRANSFER ...
 
Measurement Metrics for Object Oriented Design
Measurement Metrics for Object Oriented DesignMeasurement Metrics for Object Oriented Design
Measurement Metrics for Object Oriented Design
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Partitioning composite code changes to facilitate code review
Partitioning composite code changes to facilitate code reviewPartitioning composite code changes to facilitate code review
Partitioning composite code changes to facilitate code review
 
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...
 

Similar to Wcre11b.ppt

Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Lionel Briand
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Lionel Briand
 
Predicting Engagement in Video Lectures
Predicting Engagement in Video LecturesPredicting Engagement in Video Lectures
Predicting Engagement in Video Lectures
Sahan Bulathwela
 

Similar to Wcre11b.ppt (20)

WCRE11b.ppt
WCRE11b.pptWCRE11b.ppt
WCRE11b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
ER 2019 tutorial - Data Driven RE
ER 2019 tutorial - Data Driven REER 2019 tutorial - Data Driven RE
ER 2019 tutorial - Data Driven RE
 
Icsm12.ppt
Icsm12.pptIcsm12.ppt
Icsm12.ppt
 
Automated Context-based Question-Distractor Generation using Extractive Summa...
Automated Context-based Question-Distractor Generation using Extractive Summa...Automated Context-based Question-Distractor Generation using Extractive Summa...
Automated Context-based Question-Distractor Generation using Extractive Summa...
 
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...
 
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
 
Predicting query performance and explaining results to assist Linked Data con...
Predicting query performance and explaining results to assist Linked Data con...Predicting query performance and explaining results to assist Linked Data con...
Predicting query performance and explaining results to assist Linked Data con...
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
 
Benchmarking Faceted Browsing Capabilities of Triple Stores
Benchmarking Faceted Browsing Capabilities of Triple StoresBenchmarking Faceted Browsing Capabilities of Triple Stores
Benchmarking Faceted Browsing Capabilities of Triple Stores
 
Reducing MTTR and False Escalations: Event Correlation at LinkedIn
Reducing MTTR and False Escalations: Event Correlation at LinkedInReducing MTTR and False Escalations: Event Correlation at LinkedIn
Reducing MTTR and False Escalations: Event Correlation at LinkedIn
 
software engineering module i & ii.pptx
software engineering module i & ii.pptxsoftware engineering module i & ii.pptx
software engineering module i & ii.pptx
 
Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
 
Icsoc16a.ppt
Icsoc16a.pptIcsoc16a.ppt
Icsoc16a.ppt
 
Icsoc16a.ppt
Icsoc16a.pptIcsoc16a.ppt
Icsoc16a.ppt
 
Apsec 2014 Presentation
Apsec 2014 PresentationApsec 2014 Presentation
Apsec 2014 Presentation
 
Predicting Engagement in Video Lectures
Predicting Engagement in Video LecturesPredicting Engagement in Video Lectures
Predicting Engagement in Video Lectures
 
Enase20.ppt
Enase20.pptEnase20.ppt
Enase20.ppt
 

More from Yann-Gaël Guéhéneuc

Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
Yann-Gaël Guéhéneuc
 

More from Yann-Gaël Guéhéneuc (20)

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Wcre11b.ppt

  • 1. Requirements Traceability for Object OrientedRequirements Traceability for Object Oriented Systems by Partitioning Source CodeSystems by Partitioning Source CodeSystems by Partitioning Source CodeSystems by Partitioning Source Code WCRE 2011, Limerick, IrelandWCRE 2011, Limerick, Ireland Nasir Ali, Yann-Gaël Guéhéneuc, and Giuliano Antoniol
  • 2. Requirements Traceability Requirements traceability is defined as “the ability to describe and follow the life of a requirement, in both a forwards and backwards direction”direction” [Gotel, 1994] 2WCRE 2011
  • 3. What’s Requirements Traceability Good For? Program Comprehension Discover what code must change to handle a new requirementnew requirement Aid in determining whether a specification is completely implemented 3WCRE 2011
  • 4. IR-based Approaches • Vector Space Model (Antoniol et al. 2002) • Latent Semantic Indexing (Marcus and Maletic, 2003) • Jensen Shannon Divergence (Abadi et al. 2008) • Latent Dirichlet Allocation (Asuncion, 2010) 4WCRE 2011
  • 5. Problem in IR-based Approaches Requirement 5WCRE 2011
  • 6. Goal • Reduce manual effort required to verify false- positive links • Increase F-measure• Increase F-measure 6WCRE 2011
  • 7. Coparvo - COde PARtitioning and VOting 1. Partitioning source code 2. Defining experts 7WCRE 2011 2. Defining experts 3. Link recovery and expert voting
  • 8. Partitioning Source Code Class Name 8WCRE 2011 Method Name Variable Name Comments
  • 9. Defining Experts Class Name A Class Name B Merged Class Names ------------------------------------ Class Name A Class Name B Class Name C 9WCRE 2011 Class Name C Class Name D Class Name C Class Name D Performed same step for method, variable names, comments, and requirements
  • 10. Defining Experts (Cont.) Merged Class Names Merged Requirements ------------------------------------ Requirement 1 Requirement 1 Merged Method Names 20% 70% 10WCRE 2011 Requirement 1 ………. …… Requirement N Merged Variable Names Merged Comments 40% 60%
  • 11. Defining Experts (Cont.) Method Name Comments 70% 60% 11WCRE 2011 Variable Names Class Names 40% 20% Extreme Cases: •5% difference in two experts •95% difference in two experts
  • 12. Link Recovery and Expert Voting Class A Requirements ------------------------------------ Email client must support pop3 12WCRE 2011 support pop3 integration………. Method Names of Class A Comments of Class A
  • 13. Case Studies • Goal: Investigate the effectiveness of Coparvo in improving the accuracy of VSM and reducing the effort required to manually discard false-positive links • Quality focus: Ability to recover traceability links 13WCRE 2011 • Quality focus: Ability to recover traceability links between requirements and source code • Context: Recovering requirements traceability links of three open-source programs, Pooka, SIP, and iTrust
  • 14. Research Questions R01: How does Coparvo help to find valuable partitions of source code that help in recovering traceability links? R02: How much Coparvo helps to reduce the effort required 14 R02: How much Coparvo helps to reduce the effort required to manually verify recovered traceability links? R03: How does the F-measure value of the traceability links recovered by Coparvo compare with a traditional VSM- based approach? WCRE 2011
  • 15. Datasets SIP Communicator: Voice over IP and instate messenger Pooka: An email Client iTrust: Medical Application 15 Pooka SIP Communicator iTrust Version 2.0 1.0 10 Number of Classes 298 1,771 526 Number of Methods 20,868 31,502 3,404 LOC 244K 487K 19K WCRE 2011
  • 16. IR Quality Measures 16WCRE 2011 callecision callecision F RePr RePr 2 + × ×=
  • 17. Source Code Partitions 1.Class name 1.Method name 17 2.Variable name 3.Comments WCRE 2011
  • 18. Text Preprocessing • Filter (#43@$) 18 • Stop words (the, is, an….) • Stemmer (attachment, attached -> attach) WCRE 2011
  • 19. Information Retrieval (IR) Methods • Vector Space Model (VSM) – Each document, d, is represented by a vector of ranks of the terms in the vocabulary: vd = [rd(w1), rd(w2), …, rd(w|V|)] – The query is similarly represented by a vector– The query is similarly represented by a vector – The similarity between the query and document is the cosine of the angle between their respective vectors 19WCRE 2011
  • 24. Voting vs. Combination • Can we only use different combinations of source code partitions to create requirements traceability links? 24WCRE 2011 • How much a combination of source code improves the F-measure?
  • 28. Statistical Tests Non-parametric test – Mann-Whitney test 28WCRE 2011 F-measure Pooka SIP Comm. iTrust P-value p<0.01 p<0.01 p<0.01
  • 30. Effort Analysis (F-Measure) 8 10 12 14 VSM 30WCRE 2011 0 2 4 6 Pooka SIP Comm. iTrust VSM Coparvo
  • 31. RQ Answers R01: Combinations or single source-code partitions also sometime provides better results than Coparvo R02: Using different source of information reduces experts’ effort up to 83%experts’ effort up to 83% R03: Partitioning source code and using the partitions as experts for voting yields better accuracy 31WCRE 2011
  • 32. Threats to Validity • External validity: • We analyzed only three systems • Different source code size • Construct validity: • The two researchers built both oracles • Oracles were validated by the other two experts • iTrust oracle was developed by developer(s) • Conclusion validity: Non-parametric test • Tool is online at www.factrace.net 32WCRE 2011
  • 33. Ongoing work More IR approaches Empirical study Threshold 33WCRE 2011