SlideShare une entreprise Scribd logo
1  sur  33
Partition-Based Regression
[1]
Verification
1
PRESENTED BY:
AUNG THU RHA HEIN(5536871)
BOONYA SUWANMANE(5436284)
NATTACHART TAMKITTIKHUN (5637378)

[1] MARCEL BO’HME, BRUNO C. D. S. OLIVEIRA, ABHIK ROYCHOUDHURY
SCHOOL OF COMPUTING,NATIONAL UNIVERSITY OF SINGAPORE
PUBLISHED ON ICSE’13, SAN FRANCISCO, USA
Outline
2

 Introduction
 Partition-Based Regression Verification
 Empirical Study
 Results and Analysis
 Threats to Validity
 Related Works
 Discussion & Conclusion
Introduction-Software Regression
3

 Software Regression- software bugs occur after

changes to software functionalities
 Regression Testing- selective retesting of a

software system
 Regression Verification-verify the correctness of

the program relative to earlier versions
Introduction-Motivation
4

 Verify error correctness of software version
 Proposes a better approach than

Regression verification
Introduction-Problem Statement
5

 Requires specifications
 Verification process is time consuming
 Partial verification
Introduction-Research Contributions
6

 Introduces (PRV) partition-based regression verification
 Proposes a differential partitioning technique
 Provides another way to regression test generation

techniques
Introduction-PRV
7

 A gradual approach to RV based on the exploration of

differential partitions
 Verify inputs by partitions
 Shares the advantages of RV and RT
Introduction-Differential Partitions
8

 Computed the paths by symbolic execution
 Require deterministic program execution
Partition-Based Regression
Verification
9

Emphasize: Regression error
• Interrupt
• Terminate
PRV Experiment:
Continuous => return error
PRV: A) Computing Differential
Partitions
10

Base on the value detect of test suite(input) which lead to regression error.
 Output a set of test suite and as set condition

PRV: B) Computing Reachability
Conditions
11

Base on the detect condition.
 Output is a condition depend on your proposal input value be the criteria
 Reachable condition or
 Unreachable condition

PRV: C) Computing Propagation
Conditions
12

Base on the detect where the differential
program states converge.
 Output: Statement instance at line Ni(i substitute line number)

PRV: D) Computing Difference
Conditions
13

Base on the detect where the differential
program states converge.
 Algorithm as same as C) plus the change value process , check does the
converge output are different?
 Output: A set of change statement instance at line Ni(i substitute line
number) which lead the output at converge line are different.

PRV: E) Generating Adjacent Test Cases
14

Base on the detect where the differential
program states converge.
 Algorithm: If adjacent condition have been deleted after compute beyond the
existing condition does program compute the output.
: If place or add or reorder condition does program compute the
output.
If can compute how the output different or same at the converge statement.

PRV: F) Theorems
15


In practice, the absence of regression errors can be guaranteed for all inputs
to the same extent as symbolic execution can guarantee the absence of
program errors. Specifically, they assume deterministic program execution.
Empirical Study
16

 Evaluate relative efficiency of PRV and discuss practicability based on

authors’ experience.
 Do not prove the scalability of PRV.
 It suffers from the same limitation as symbolic execution.
 However, it can benefit from optimizations like domain reduction,
parallelization, and better search strategies.
Empirical Study – Setup and Infrastructure
17

 Built into authors’ dynamic backward slicing tool JSlice.

 The differential partitions are explored in a breadth-first manner

starting from the same initial input within 5 minutes, unless stated
otherwise.
 Every version of the same subject uses the same test driver to construct
necessary inputs.
 Subject programs are analyzed on a desktop computer with an Intel 3
GHz quad-core processor and 4 GB of memory.
Empirical Study – Subject Programs
18

 Subject programs in the experiments are chosen according to the

following 2 criteria:
 They represent a variety of evolving programs.
 They are discussed in related work (which allows the comparison
with our own experimental results).
 There are 83 versions of programs ranging from 20 to almost 5000
lines of code.
 Some are derived by seeding faults, called mutants, of the original
versions.
 Some are real versions that were committed to a version control
system.
Empirical Study – Subject Programs
19
Empirical Study – Subject Programs
20

 The authors compare the empirical results of the references discussing

regression verification and regression test generation.
 No empirical results available for the regression test generation

techniques and differenctial symbolic execution
 All programs are tested as whole programs, except for Apache CLI.


For Apache CLI, command line component was tested for regression.
Empirical Study – Research Questions
21

 RQ1:

How efficiently does PRV find the first input that exposes semantic
difference?
 RQ2:
 How efficiently does PRV find the first input that exposes software
regression?
 RQ3:
 How practical is PRV in an example usage scenario?

Results and Analysis – RQ1: Efficientcy – Semantic
Difference
22

 Measure 2 aspects when searching for the first difference-revealing

input:
 average time
 If > 5 min, not included.
 mutation score.
 The fraction of versions for which a difference-revealing input can
be found within 5 minutes.
Results and Analysis – RQ1: Efficientcy – Semantic
Difference
23
Results and Analysis – RQ1: Efficientcy – Semantic
Difference
24

 Answer to RQ1.


PRV generates a difference-revealing test case on average for 21%
mor version pairs in 41% less time, than the eXpress-like approach
that analyzes only the changed version P’.
Results and Analysis – RQ2: Efficientcy – Software
Regression
25

 In practice, not every difference-revealing test case reveals software

regression.
 A difference-revealing test case can be checked formally on informally
against the programmer’s expectation.
Results and Analysis – RQ2: Efficientcy – Software
Regression
26
Results and Analysis – RQ2: Efficientcy – Software
Regression
27

 Answer to RQ2.


PRV generates a regression-revealing test case on average for 48%
more version pairs in 63% less time than the eXpress-like approach
that analyzes on the changed version P’.
Results and Analysis – RQ3 Practicability – Usage
Scenario: Apache CLI
28

 Apache CLI is used to evaluate PRV in a practical usage scenario.

 PRV generates difference-revealing test cases within the bound of 20

minutes for every version pair.
 A developer checks these test cases for regression and relates the
regression revealing test cases to changes that semantically interfere.
Results and Analysis – RQ3 Practicability – Usage
Scenario: Apache CLI
29

 Answer to RQ3.


For the evolution of Apache CLI over 6 years, tests generated as
witnesses of differential behavior of 2 successive versions suggest:
 An average progression of 49%, regression of 18% and
intermediate semantic changes of 33% towards the latest revision.
Threats to Validity
30

 Main threat to internal validity:

Implementation of PRV into JSlice
 Tried to mitigate by using the same implementation to gather results
for the DART-like and eXpress-like approches.
 Main threat to external validity
 The generalization of the results
 Limited choice and # of subjects does not suggest generallizability.
 The subjects are served mainly as comparison to relavant works,
and give an idea about practibility of PRV.

Related Works
31

 Regression Verification(RV)

based on semantic equivalence
 time consuming
 no intermediate guarantees
 Differential Symbolic Execution (DSE)
 based on symbolic summaries
 less scalable
 Regression Test Generation (RTG)
 construct sample input that can expose software regression

Discussion & Conclusion
32

 Introduces differential partitions technique
 Enable partial verification
 Retain regression guarantees
 Detect regression errors more
Thank you.
33

 Questions ?

Contenu connexe

Tendances

Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Ijarcet vol-2-issue-4-1291-1297
Ijarcet vol-2-issue-4-1291-1297Ijarcet vol-2-issue-4-1291-1297
Ijarcet vol-2-issue-4-1291-1297Editor IJARCET
 
Improving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsImproving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsThe University of Adelaide
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Software testing quiz questions and answers
Software testing quiz questions and answersSoftware testing quiz questions and answers
Software testing quiz questions and answersRajendraG
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box TestingTestbytes
 
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...The University of Adelaide
 
Comparing model coverage and code coverage in Model Driven testing: an explor...
Comparing model coverage and code coverage in Model Driven testing: an explor...Comparing model coverage and code coverage in Model Driven testing: an explor...
Comparing model coverage and code coverage in Model Driven testing: an explor...REvERSE University of Naples Federico II
 

Tendances (18)

Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Path testing
Path testingPath testing
Path testing
 
10 software testing_technique
10 software testing_technique10 software testing_technique
10 software testing_technique
 
Ijarcet vol-2-issue-4-1291-1297
Ijarcet vol-2-issue-4-1291-1297Ijarcet vol-2-issue-4-1291-1297
Ijarcet vol-2-issue-4-1291-1297
 
presentazione
presentazionepresentazione
presentazione
 
Improving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsImproving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer Recommendations
 
Complexity metrics and models
Complexity metrics and modelsComplexity metrics and models
Complexity metrics and models
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
White box testing
White box testingWhite box testing
White box testing
 
Testing techniques
Testing techniquesTesting techniques
Testing techniques
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Software testing quiz questions and answers
Software testing quiz questions and answersSoftware testing quiz questions and answers
Software testing quiz questions and answers
 
Testing
TestingTesting
Testing
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
 
Comparing model coverage and code coverage in Model Driven testing: an explor...
Comparing model coverage and code coverage in Model Driven testing: an explor...Comparing model coverage and code coverage in Model Driven testing: an explor...
Comparing model coverage and code coverage in Model Driven testing: an explor...
 
Who Should Review My Code?
Who Should Review My Code?  Who Should Review My Code?
Who Should Review My Code?
 

Similaire à Partitioned Based Regression Verification

Chapter 4 Software Testing_Finalised_BW.ppt
Chapter 4 Software Testing_Finalised_BW.pptChapter 4 Software Testing_Finalised_BW.ppt
Chapter 4 Software Testing_Finalised_BW.pptBule Hora University
 
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...mwpeexdvjgtqujwhog
 
DEFECT PREDICTION USING ORDER STATISTICS
DEFECT PREDICTION USING ORDER STATISTICSDEFECT PREDICTION USING ORDER STATISTICS
DEFECT PREDICTION USING ORDER STATISTICSIAEME Publication
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingAmr E. Mohamed
 
ISTQB Advanced Study Guide - 3
ISTQB Advanced Study Guide - 3ISTQB Advanced Study Guide - 3
ISTQB Advanced Study Guide - 3Yogindernath Gupta
 
Software testing by risk management
Software testing by risk managementSoftware testing by risk management
Software testing by risk managementKobi Vider
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Gurpreet singh
 
Software Refactoring Under Uncertainty: A Robust Multi-Objective Approach
Software Refactoring Under Uncertainty:  A Robust Multi-Objective ApproachSoftware Refactoring Under Uncertainty:  A Robust Multi-Objective Approach
Software Refactoring Under Uncertainty: A Robust Multi-Objective ApproachWiem Mkaouer
 
Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Mateti Anilraja
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptChapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptGentaSahuri2
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Manual Testing Questions
Manual Testing QuestionsManual Testing Questions
Manual Testing QuestionsUser1test
 
Spm unit v-software maintenance-intro
Spm unit v-software maintenance-introSpm unit v-software maintenance-intro
Spm unit v-software maintenance-introKanchana Devi
 
H047054064
H047054064H047054064
H047054064inventy
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...acijjournal
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...acijjournal
 

Similaire à Partitioned Based Regression Verification (20)

Chapter 4 Software Testing_Finalised_BW.ppt
Chapter 4 Software Testing_Finalised_BW.pptChapter 4 Software Testing_Finalised_BW.ppt
Chapter 4 Software Testing_Finalised_BW.ppt
 
Bd36334337
Bd36334337Bd36334337
Bd36334337
 
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
 
DEFECT PREDICTION USING ORDER STATISTICS
DEFECT PREDICTION USING ORDER STATISTICSDEFECT PREDICTION USING ORDER STATISTICS
DEFECT PREDICTION USING ORDER STATISTICS
 
50120140502017
5012014050201750120140502017
50120140502017
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
ISTQB Advanced Study Guide - 3
ISTQB Advanced Study Guide - 3ISTQB Advanced Study Guide - 3
ISTQB Advanced Study Guide - 3
 
Software testing by risk management
Software testing by risk managementSoftware testing by risk management
Software testing by risk management
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
Software Refactoring Under Uncertainty: A Robust Multi-Objective Approach
Software Refactoring Under Uncertainty:  A Robust Multi-Objective ApproachSoftware Refactoring Under Uncertainty:  A Robust Multi-Objective Approach
Software Refactoring Under Uncertainty: A Robust Multi-Objective Approach
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
 
Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptChapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.ppt
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Manual Testing Questions
Manual Testing QuestionsManual Testing Questions
Manual Testing Questions
 
Spm unit v-software maintenance-intro
Spm unit v-software maintenance-introSpm unit v-software maintenance-intro
Spm unit v-software maintenance-intro
 
Testing
TestingTesting
Testing
 
H047054064
H047054064H047054064
H047054064
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
 

Plus de Aung Thu Rha Hein

Bioinformatics for Computer Scientists
Bioinformatics for Computer Scientists Bioinformatics for Computer Scientists
Bioinformatics for Computer Scientists Aung Thu Rha Hein
 
Analysis of hybrid image with FFT (Fast Fourier Transform)
Analysis of hybrid image with FFT (Fast Fourier Transform)Analysis of hybrid image with FFT (Fast Fourier Transform)
Analysis of hybrid image with FFT (Fast Fourier Transform)Aung Thu Rha Hein
 
Introduction to Common Weakness Enumeration (CWE)
Introduction to Common Weakness Enumeration (CWE)Introduction to Common Weakness Enumeration (CWE)
Introduction to Common Weakness Enumeration (CWE)Aung Thu Rha Hein
 
Private Browsing: A Window of Forensic Opportunity
Private Browsing: A Window of Forensic OpportunityPrivate Browsing: A Window of Forensic Opportunity
Private Browsing: A Window of Forensic OpportunityAung Thu Rha Hein
 
Digital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeDigital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeAung Thu Rha Hein
 
Survey & Review of Digital Forensic
Survey & Review of Digital ForensicSurvey & Review of Digital Forensic
Survey & Review of Digital ForensicAung Thu Rha Hein
 
CRAXweb: Automatic Exploit Generation for Web Applications
CRAXweb: Automatic Exploit Generation for Web ApplicationsCRAXweb: Automatic Exploit Generation for Web Applications
CRAXweb: Automatic Exploit Generation for Web ApplicationsAung Thu Rha Hein
 
Web application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresWeb application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresAung Thu Rha Hein
 
Can the elephants handle the no sql onslaught
Can the elephants handle the no sql onslaughtCan the elephants handle the no sql onslaught
Can the elephants handle the no sql onslaughtAung Thu Rha Hein
 
Fuzzy logic based students’ learning assessment
Fuzzy logic based students’ learning assessmentFuzzy logic based students’ learning assessment
Fuzzy logic based students’ learning assessmentAung Thu Rha Hein
 

Plus de Aung Thu Rha Hein (19)

Writing with ease
Writing with easeWriting with ease
Writing with ease
 
Bioinformatics for Computer Scientists
Bioinformatics for Computer Scientists Bioinformatics for Computer Scientists
Bioinformatics for Computer Scientists
 
Analysis of hybrid image with FFT (Fast Fourier Transform)
Analysis of hybrid image with FFT (Fast Fourier Transform)Analysis of hybrid image with FFT (Fast Fourier Transform)
Analysis of hybrid image with FFT (Fast Fourier Transform)
 
Introduction to Common Weakness Enumeration (CWE)
Introduction to Common Weakness Enumeration (CWE)Introduction to Common Weakness Enumeration (CWE)
Introduction to Common Weakness Enumeration (CWE)
 
Private Browsing: A Window of Forensic Opportunity
Private Browsing: A Window of Forensic OpportunityPrivate Browsing: A Window of Forensic Opportunity
Private Browsing: A Window of Forensic Opportunity
 
Network switching
Network switchingNetwork switching
Network switching
 
Digital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeDigital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research Challenge
 
Survey & Review of Digital Forensic
Survey & Review of Digital ForensicSurvey & Review of Digital Forensic
Survey & Review of Digital Forensic
 
CRAXweb: Automatic Exploit Generation for Web Applications
CRAXweb: Automatic Exploit Generation for Web ApplicationsCRAXweb: Automatic Exploit Generation for Web Applications
CRAXweb: Automatic Exploit Generation for Web Applications
 
Botnets 101
Botnets 101Botnets 101
Botnets 101
 
Session initiation protocol
Session initiation protocolSession initiation protocol
Session initiation protocol
 
TPC-H in MongoDB
TPC-H in MongoDBTPC-H in MongoDB
TPC-H in MongoDB
 
Web application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresWeb application security: Threats & Countermeasures
Web application security: Threats & Countermeasures
 
Cloud computing security
Cloud computing securityCloud computing security
Cloud computing security
 
Can the elephants handle the no sql onslaught
Can the elephants handle the no sql onslaughtCan the elephants handle the no sql onslaught
Can the elephants handle the no sql onslaught
 
Fuzzy logic based students’ learning assessment
Fuzzy logic based students’ learning assessmentFuzzy logic based students’ learning assessment
Fuzzy logic based students’ learning assessment
 
Link state routing protocol
Link state routing protocolLink state routing protocol
Link state routing protocol
 
Chat bot analysis
Chat bot analysisChat bot analysis
Chat bot analysis
 
Data mining & column stores
Data mining & column storesData mining & column stores
Data mining & column stores
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Dernier (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Partitioned Based Regression Verification

  • 1. Partition-Based Regression [1] Verification 1 PRESENTED BY: AUNG THU RHA HEIN(5536871) BOONYA SUWANMANE(5436284) NATTACHART TAMKITTIKHUN (5637378) [1] MARCEL BO’HME, BRUNO C. D. S. OLIVEIRA, ABHIK ROYCHOUDHURY SCHOOL OF COMPUTING,NATIONAL UNIVERSITY OF SINGAPORE PUBLISHED ON ICSE’13, SAN FRANCISCO, USA
  • 2. Outline 2  Introduction  Partition-Based Regression Verification  Empirical Study  Results and Analysis  Threats to Validity  Related Works  Discussion & Conclusion
  • 3. Introduction-Software Regression 3  Software Regression- software bugs occur after changes to software functionalities  Regression Testing- selective retesting of a software system  Regression Verification-verify the correctness of the program relative to earlier versions
  • 4. Introduction-Motivation 4  Verify error correctness of software version  Proposes a better approach than Regression verification
  • 5. Introduction-Problem Statement 5  Requires specifications  Verification process is time consuming  Partial verification
  • 6. Introduction-Research Contributions 6  Introduces (PRV) partition-based regression verification  Proposes a differential partitioning technique  Provides another way to regression test generation techniques
  • 7. Introduction-PRV 7  A gradual approach to RV based on the exploration of differential partitions  Verify inputs by partitions  Shares the advantages of RV and RT
  • 8. Introduction-Differential Partitions 8  Computed the paths by symbolic execution  Require deterministic program execution
  • 9. Partition-Based Regression Verification 9 Emphasize: Regression error • Interrupt • Terminate PRV Experiment: Continuous => return error
  • 10. PRV: A) Computing Differential Partitions 10 Base on the value detect of test suite(input) which lead to regression error.  Output a set of test suite and as set condition 
  • 11. PRV: B) Computing Reachability Conditions 11 Base on the detect condition.  Output is a condition depend on your proposal input value be the criteria  Reachable condition or  Unreachable condition 
  • 12. PRV: C) Computing Propagation Conditions 12 Base on the detect where the differential program states converge.  Output: Statement instance at line Ni(i substitute line number) 
  • 13. PRV: D) Computing Difference Conditions 13 Base on the detect where the differential program states converge.  Algorithm as same as C) plus the change value process , check does the converge output are different?  Output: A set of change statement instance at line Ni(i substitute line number) which lead the output at converge line are different. 
  • 14. PRV: E) Generating Adjacent Test Cases 14 Base on the detect where the differential program states converge.  Algorithm: If adjacent condition have been deleted after compute beyond the existing condition does program compute the output. : If place or add or reorder condition does program compute the output. If can compute how the output different or same at the converge statement. 
  • 15. PRV: F) Theorems 15  In practice, the absence of regression errors can be guaranteed for all inputs to the same extent as symbolic execution can guarantee the absence of program errors. Specifically, they assume deterministic program execution.
  • 16. Empirical Study 16  Evaluate relative efficiency of PRV and discuss practicability based on authors’ experience.  Do not prove the scalability of PRV.  It suffers from the same limitation as symbolic execution.  However, it can benefit from optimizations like domain reduction, parallelization, and better search strategies.
  • 17. Empirical Study – Setup and Infrastructure 17  Built into authors’ dynamic backward slicing tool JSlice.  The differential partitions are explored in a breadth-first manner starting from the same initial input within 5 minutes, unless stated otherwise.  Every version of the same subject uses the same test driver to construct necessary inputs.  Subject programs are analyzed on a desktop computer with an Intel 3 GHz quad-core processor and 4 GB of memory.
  • 18. Empirical Study – Subject Programs 18  Subject programs in the experiments are chosen according to the following 2 criteria:  They represent a variety of evolving programs.  They are discussed in related work (which allows the comparison with our own experimental results).  There are 83 versions of programs ranging from 20 to almost 5000 lines of code.  Some are derived by seeding faults, called mutants, of the original versions.  Some are real versions that were committed to a version control system.
  • 19. Empirical Study – Subject Programs 19
  • 20. Empirical Study – Subject Programs 20  The authors compare the empirical results of the references discussing regression verification and regression test generation.  No empirical results available for the regression test generation techniques and differenctial symbolic execution  All programs are tested as whole programs, except for Apache CLI.  For Apache CLI, command line component was tested for regression.
  • 21. Empirical Study – Research Questions 21  RQ1: How efficiently does PRV find the first input that exposes semantic difference?  RQ2:  How efficiently does PRV find the first input that exposes software regression?  RQ3:  How practical is PRV in an example usage scenario? 
  • 22. Results and Analysis – RQ1: Efficientcy – Semantic Difference 22  Measure 2 aspects when searching for the first difference-revealing input:  average time  If > 5 min, not included.  mutation score.  The fraction of versions for which a difference-revealing input can be found within 5 minutes.
  • 23. Results and Analysis – RQ1: Efficientcy – Semantic Difference 23
  • 24. Results and Analysis – RQ1: Efficientcy – Semantic Difference 24  Answer to RQ1.  PRV generates a difference-revealing test case on average for 21% mor version pairs in 41% less time, than the eXpress-like approach that analyzes only the changed version P’.
  • 25. Results and Analysis – RQ2: Efficientcy – Software Regression 25  In practice, not every difference-revealing test case reveals software regression.  A difference-revealing test case can be checked formally on informally against the programmer’s expectation.
  • 26. Results and Analysis – RQ2: Efficientcy – Software Regression 26
  • 27. Results and Analysis – RQ2: Efficientcy – Software Regression 27  Answer to RQ2.  PRV generates a regression-revealing test case on average for 48% more version pairs in 63% less time than the eXpress-like approach that analyzes on the changed version P’.
  • 28. Results and Analysis – RQ3 Practicability – Usage Scenario: Apache CLI 28  Apache CLI is used to evaluate PRV in a practical usage scenario.  PRV generates difference-revealing test cases within the bound of 20 minutes for every version pair.  A developer checks these test cases for regression and relates the regression revealing test cases to changes that semantically interfere.
  • 29. Results and Analysis – RQ3 Practicability – Usage Scenario: Apache CLI 29  Answer to RQ3.  For the evolution of Apache CLI over 6 years, tests generated as witnesses of differential behavior of 2 successive versions suggest:  An average progression of 49%, regression of 18% and intermediate semantic changes of 33% towards the latest revision.
  • 30. Threats to Validity 30  Main threat to internal validity: Implementation of PRV into JSlice  Tried to mitigate by using the same implementation to gather results for the DART-like and eXpress-like approches.  Main threat to external validity  The generalization of the results  Limited choice and # of subjects does not suggest generallizability.  The subjects are served mainly as comparison to relavant works, and give an idea about practibility of PRV. 
  • 31. Related Works 31  Regression Verification(RV) based on semantic equivalence  time consuming  no intermediate guarantees  Differential Symbolic Execution (DSE)  based on symbolic summaries  less scalable  Regression Test Generation (RTG)  construct sample input that can expose software regression 
  • 32. Discussion & Conclusion 32  Introduces differential partitions technique  Enable partial verification  Retain regression guarantees  Detect regression errors more