SlideShare una empresa de Scribd logo
1 de 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 ?

Más contenido relacionado

La actualidad más candente

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

La actualidad más candente (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?
 

Similar a Partitioned Based Regression Verification

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
 
Software testing by risk management
Software testing by risk managementSoftware testing by risk management
Software testing by risk management
Kobi Vider
 
Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3
Mateti Anilraja
 
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 Questions
User1test
 

Similar a 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 ...
 

Más de Aung Thu Rha Hein

Web application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresWeb application security: Threats & Countermeasures
Web application security: Threats & Countermeasures
Aung 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 assessment
Aung Thu Rha Hein
 

Más 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
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
vu2urc
 

Último (20)

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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

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