SlideShare a Scribd company logo
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 ?

More Related Content

PPTX
Unit 3 Control Flow Testing
PPTX
Control Flow Testing
PDF
Staroletov testing TDD BDD MBT
PPT
New software testing-techniques
PPT
Software testing
PPTX
Path Testing
PDF
01 software test engineering (manual testing)
PPT
Software Testing Techniques
Unit 3 Control Flow Testing
Control Flow Testing
Staroletov testing TDD BDD MBT
New software testing-techniques
Software testing
Path Testing
01 software test engineering (manual testing)
Software Testing Techniques

What's hot (18)

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

Similar to Partitioned Based Regression Verification (20)

PPT
Chapter 4 Software Testing_Finalised_BW.ppt
PDF
Bd36334337
PDF
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
PDF
DEFECT PREDICTION USING ORDER STATISTICS
PDF
50120140502017
PDF
The Simple and Complete Guide on Non-Regression Testing.pdf
PDF
SE2018_Lec 19_ Software Testing
DOC
ISTQB Advanced Study Guide - 3
PDF
Software testing by risk management
PDF
Software Testing and Quality Assurance Assignment 2
PDF
Software Refactoring Under Uncertainty: A Robust Multi-Objective Approach
PPTX
Intro-Soft-Engg-2.pptx
PPT
Sech1920 1200112979886874-3
PPT
Chapter 8 - Software Testing.ppt
PDF
International Journal of Engineering Research and Development (IJERD)
DOCX
Manual Testing Questions
PPTX
Spm unit v-software maintenance-intro
PPT
PDF
H047054064
PDF
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
Chapter 4 Software Testing_Finalised_BW.ppt
Bd36334337
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
DEFECT PREDICTION USING ORDER STATISTICS
50120140502017
The Simple and Complete Guide on Non-Regression Testing.pdf
SE2018_Lec 19_ Software Testing
ISTQB Advanced Study Guide - 3
Software testing by risk management
Software Testing and Quality Assurance Assignment 2
Software Refactoring Under Uncertainty: A Robust Multi-Objective Approach
Intro-Soft-Engg-2.pptx
Sech1920 1200112979886874-3
Chapter 8 - Software Testing.ppt
International Journal of Engineering Research and Development (IJERD)
Manual Testing Questions
Spm unit v-software maintenance-intro
H047054064
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
Ad

More from Aung Thu Rha Hein (19)

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

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
cuic standard and advanced reporting.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25-Week II
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
MIND Revenue Release Quarter 2 2025 Press Release
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectroscopy.pptx food analysis technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MYSQL Presentation for SQL database connectivity
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Programs and apps: productivity, graphics, security and other tools
Big Data Technologies - Introduction.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
cuic standard and advanced reporting.pdf
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation

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