SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Draft
Constraint-Based Error Localization
Mohammed, Bekkouche, Hélène Collavizza, Michel
Rueher
University of Nice Sophia-Antipolis I3S – CNRS
France
Réunion VACSIM – 14 Octobre 2014
Draft
Problem Motivating example Experiments Conclusion
Plan
1 Problem
2 Motivating example
3 Experiments
4 Conclusion
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 2
Draft
Problem Motivating example Experiments Conclusion
Problem: informal presentation
• Model checking, testing
Generation of counterexamples
• Input data & wrong output (testing)
• Input data & violated post condition / property
→ Execution trace
• Problems
• Execution trace: often lengthy and difficult to understand
• Location of the portions of code that contain errors
→ Very expensive
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 3
Draft
Problem Motivating example Experiments Conclusion
Goals
• Provide helpful information for error localization on numeric
constraint systems
• Two categories of information
• How much of an unsatisfiable constraint set can be
satisfied ?
→ Minimal Correction Set (MCS)
MaxSAT, Max CSP, MaxFS
• Where in the constraint set the “problem” lies ?
→ Minimal Unsatisfiable Core (MUC),
Irreducible Inconsistent Subsystems (IIS)
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 4
Draft
Problem Motivating example Experiments Conclusion
Definitions
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 5
Draft
Problem Motivating example Experiments Conclusion
Computing all MCS : CAMUS (Liffiton &
Sakallah-2007
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 6
Draft
Problem Motivating example Experiments Conclusion
Computing all MCS – Example
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 7
Problem Motivating example Experiments Conclusion
Computing one MUS from a set of MCSes (Liffiton
& Sakallah-2007
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 8
Problem Motivating example Experiments Conclusion
LocFaults
→ Computing MCS on programs with numerical
computations
• Input :
• A faulty program: postcondition does not hold
• A counter-example
• Output : A small set of suspicious statements
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 9
Problem Motivating example Experiments Conclusion
LocFaults : détails (1)
• Process
1 Building of the CFG of a program in DSA form
2 Translating of the program and its specification in a set of
numerical constraints
3 ComputingMCS with the counter-example CE, constraints
of the corresponding PATH and the postcondition POST
Note : CSP C = CE ∪ PATH ∪ POST is inconsistant
• Key points : MCS on paths “closely” related to the CE
→ Path of CE
→ Paths with at most k deviations from the CE
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 10
Problem Motivating example Experiments Conclusion
LocFaults : details (2)
• Computing bounded MCS along the path of CE
• DFS Exploration of the CFG : propagation of CE and at
most k deviations of conditional statements: c1, .., ck :
• C: contraints along the path before ck
• IF P ∪ POST holds:
• {¬c1, .., ¬ck } is a potential correction,
• The MCS of C ∪ {¬c1, .., ¬ck } are potential corrections
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 11
Problem Motivating example Experiments Conclusion
Example (1)
Program AbsMinus : an error has been introduced in line 10,
thus for the input data {i = 0, j = 1}, it returns −1
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 12
Problem Motivating example Experiments Conclusion
Example (2)
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 13
Problem Motivating example Experiments Conclusion
Example (3)
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 14
Problem Motivating example Experiments Conclusion
Experiments - Process
systems and tools
• LocFaults:
→ MIP solver of IBM ILOG CPLEX
→ CPBPV system to generate the CFG and CE
→ Benchmarks: Java programs
• BugAssist:
→ MaxSAT solverMSUnCore2
→ Benchmarks: ANSI-C programs
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 15
Problem Motivating example Experiments Conclusion
Experiments - Benchmarks
• TCAS : an aircraft collision avoidance system. The
program contains 173 lines of C code with almost no
arithmetic operations. The suite contains 41 faulty versions
• Tritype takes three positive integers as inputs (i, j, k) the
triangle sides, and returns the value 2 if the inputs
correspond to an isosceles triangle, the value 3 if they
correspond to an equilateral triangle, the value 1 if they
correspond to some other triangle, and the value 4
otherwise.
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 16
Problem Motivating example Experiments Conclusion
Experiments - Results on TCAS suite
• Computation times: no significant difference
• At most one deviation required except for version V41
where two deviations were required
• Size of the set of suspicious instructions identified by
BUGASSISTin general larger than the sum of the sizes of
the sets of suspicious instructions generated by
LOCFAULTS
• BUGASSISTidentifies a bit more errors than LOCFAULTS
• LOCFAULTSreports a set of MCS for each faulty path
→ the error localization process is much more easier than
with the single set of suspicious errors reported by
BUGASSIST
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 17
Problem Motivating example Experiments Conclusion
Experiments - Error on Tritype
• TritypeV1 : error in the last assignment statement of the
program
• TritypeV2 : error in a nested condition, just before the
last assignment
• TritypeV3 : the error an assignment and will entail a bad
branching
• TritypeV4: error in condition, at the beginning of the
program
• TritypeV5 : wo wrong conditions in this program
• TritypeV6 : a variation that returns the perimeter of the
triangle
• TritypeV7 : a variation that computes the square of the
surface of the triangle by using Heron’s formula
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 18
Problem Motivating example Experiments Conclusion
Experiments - Results on Tritype (2)
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 19
Problem Motivating example Experiments Conclusion
Experiments - Results on Tritype (3)
Program
LocFaults BugAssist
P
L
P L
= 0 ≤ 1 ≤ 2 ≤ 3
TritypeV7 0, 722s 0, 051s 0, 112s 0, 119s 0, 144s 0, 140s 20, 373s
TritypeV8 0, 731s 0, 08s 0, 143s 0, 156s 0, 162s 0, 216s 25, 562s
Computation times for non linear Trityp programs
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 20
Problem Motivating example Experiments Conclusion
Conclusion and Discussion
• Flow-based and incremental approach of LOCFAULTSis a
good way to help the programmer with bug hunting since it
locates the errors around the path of t he counter-example
• Constraint-based framework is well adapted for handling
arithmetic operations and it can be extended in
straightforward way for handling programs with
floating-point numbers computations
Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 21

Más contenido relacionado

Destacado

LocFaults: Une nouvelle approche basée sur les contraintes et dirigée par les...
LocFaults: Une nouvelle approche basée sur les contraintes et dirigée par les...LocFaults: Une nouvelle approche basée sur les contraintes et dirigée par les...
LocFaults: Une nouvelle approche basée sur les contraintes et dirigée par les...
Mohammed Bekkouche
 
oracle Sql constraint
oracle  Sql constraint oracle  Sql constraint
oracle Sql constraint
home
 
Constraints In Sql
Constraints In SqlConstraints In Sql
Constraints In Sql
Anurag
 
Economy matters june 2013
Economy matters june 2013Economy matters june 2013
Economy matters june 2013
Confederation of Indian Industry
 

Destacado (15)

LocFaults: Une nouvelle approche basée sur les contraintes et dirigée par les...
LocFaults: Une nouvelle approche basée sur les contraintes et dirigée par les...LocFaults: Une nouvelle approche basée sur les contraintes et dirigée par les...
LocFaults: Une nouvelle approche basée sur les contraintes et dirigée par les...
 
Une approche incrémentale combinant les techniques BMC et un problème CSP pou...
Une approche incrémentale combinant les techniques BMC et un problème CSP pou...Une approche incrémentale combinant les techniques BMC et un problème CSP pou...
Une approche incrémentale combinant les techniques BMC et un problème CSP pou...
 
Sql xp 05
Sql xp 05Sql xp 05
Sql xp 05
 
Relational databe
Relational databeRelational databe
Relational databe
 
SQL: Unique IDs, Primary Keys and Archiving Inactive Rows Without Violating C...
SQL: Unique IDs, Primary Keys and Archiving Inactive Rows Without Violating C...SQL: Unique IDs, Primary Keys and Archiving Inactive Rows Without Violating C...
SQL: Unique IDs, Primary Keys and Archiving Inactive Rows Without Violating C...
 
8. sql
8. sql8. sql
8. sql
 
oracle Sql constraint
oracle  Sql constraint oracle  Sql constraint
oracle Sql constraint
 
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...
 
Constraints In Sql
Constraints In SqlConstraints In Sql
Constraints In Sql
 
SQL Tutorial - Table Constraints
SQL Tutorial - Table ConstraintsSQL Tutorial - Table Constraints
SQL Tutorial - Table Constraints
 
Sql database object
Sql database objectSql database object
Sql database object
 
Personal computer
Personal computerPersonal computer
Personal computer
 
How to RSS Feed in Search Engine Optimization and their Benefits.
How to RSS Feed in Search Engine Optimization and their Benefits.How to RSS Feed in Search Engine Optimization and their Benefits.
How to RSS Feed in Search Engine Optimization and their Benefits.
 
Villa San José
Villa San JoséVilla San José
Villa San José
 
Economy matters june 2013
Economy matters june 2013Economy matters june 2013
Economy matters june 2013
 

Similar a Error localization

Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
inside-BigData.com
 
Sampling-SDM2012_Jun
Sampling-SDM2012_JunSampling-SDM2012_Jun
Sampling-SDM2012_Jun
MDO_Lab
 
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
Nesma
 
Design & implementation of machine learning algorithm in (2)
Design & implementation of machine learning algorithm in (2)Design & implementation of machine learning algorithm in (2)
Design & implementation of machine learning algorithm in (2)
saurabh Kumar Chaudhary
 
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Lionel Briand
 
VL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
VL/HCC 2014 - A Longitudinal Study of Programmers' BacktrackingVL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
VL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
YoungSeok Yoon
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
Fincy V.J
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
Lionel Briand
 
WCSMO-ModelSelection-2013
WCSMO-ModelSelection-2013WCSMO-ModelSelection-2013
WCSMO-ModelSelection-2013
OptiModel
 

Similar a Error localization (20)

ACSAC2016: Code Obfuscation Against Symbolic Execution Attacks
ACSAC2016: Code Obfuscation Against Symbolic Execution AttacksACSAC2016: Code Obfuscation Against Symbolic Execution Attacks
ACSAC2016: Code Obfuscation Against Symbolic Execution Attacks
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical Systems
 
Testing
TestingTesting
Testing
 
CTF: Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Mo...
CTF: Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Mo...CTF: Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Mo...
CTF: Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Mo...
 
Optimizing an Earth Science Atmospheric Application with the OmpSs Programmin...
Optimizing an Earth Science Atmospheric Application with the OmpSs Programmin...Optimizing an Earth Science Atmospheric Application with the OmpSs Programmin...
Optimizing an Earth Science Atmospheric Application with the OmpSs Programmin...
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 
Sampling-SDM2012_Jun
Sampling-SDM2012_JunSampling-SDM2012_Jun
Sampling-SDM2012_Jun
 
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
 
Design & implementation of machine learning algorithm in (2)
Design & implementation of machine learning algorithm in (2)Design & implementation of machine learning algorithm in (2)
Design & implementation of machine learning algorithm in (2)
 
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
 
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality MeasureTMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
 
11 whiteboxtesting
11 whiteboxtesting11 whiteboxtesting
11 whiteboxtesting
 
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
 
Debug me
Debug meDebug me
Debug me
 
VL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
VL/HCC 2014 - A Longitudinal Study of Programmers' BacktrackingVL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
VL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
 
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
 
WCSMO-ModelSelection-2013
WCSMO-ModelSelection-2013WCSMO-ModelSelection-2013
WCSMO-ModelSelection-2013
 

Último

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

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
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...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
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
 

Error localization

  • 1. Draft Constraint-Based Error Localization Mohammed, Bekkouche, Hélène Collavizza, Michel Rueher University of Nice Sophia-Antipolis I3S – CNRS France Réunion VACSIM – 14 Octobre 2014
  • 2. Draft Problem Motivating example Experiments Conclusion Plan 1 Problem 2 Motivating example 3 Experiments 4 Conclusion Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 2
  • 3. Draft Problem Motivating example Experiments Conclusion Problem: informal presentation • Model checking, testing Generation of counterexamples • Input data & wrong output (testing) • Input data & violated post condition / property → Execution trace • Problems • Execution trace: often lengthy and difficult to understand • Location of the portions of code that contain errors → Very expensive Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 3
  • 4. Draft Problem Motivating example Experiments Conclusion Goals • Provide helpful information for error localization on numeric constraint systems • Two categories of information • How much of an unsatisfiable constraint set can be satisfied ? → Minimal Correction Set (MCS) MaxSAT, Max CSP, MaxFS • Where in the constraint set the “problem” lies ? → Minimal Unsatisfiable Core (MUC), Irreducible Inconsistent Subsystems (IIS) Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 4
  • 5. Draft Problem Motivating example Experiments Conclusion Definitions Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 5
  • 6. Draft Problem Motivating example Experiments Conclusion Computing all MCS : CAMUS (Liffiton & Sakallah-2007 Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 6
  • 7. Draft Problem Motivating example Experiments Conclusion Computing all MCS – Example Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 7
  • 8. Problem Motivating example Experiments Conclusion Computing one MUS from a set of MCSes (Liffiton & Sakallah-2007 Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 8
  • 9. Problem Motivating example Experiments Conclusion LocFaults → Computing MCS on programs with numerical computations • Input : • A faulty program: postcondition does not hold • A counter-example • Output : A small set of suspicious statements Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 9
  • 10. Problem Motivating example Experiments Conclusion LocFaults : détails (1) • Process 1 Building of the CFG of a program in DSA form 2 Translating of the program and its specification in a set of numerical constraints 3 ComputingMCS with the counter-example CE, constraints of the corresponding PATH and the postcondition POST Note : CSP C = CE ∪ PATH ∪ POST is inconsistant • Key points : MCS on paths “closely” related to the CE → Path of CE → Paths with at most k deviations from the CE Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 10
  • 11. Problem Motivating example Experiments Conclusion LocFaults : details (2) • Computing bounded MCS along the path of CE • DFS Exploration of the CFG : propagation of CE and at most k deviations of conditional statements: c1, .., ck : • C: contraints along the path before ck • IF P ∪ POST holds: • {¬c1, .., ¬ck } is a potential correction, • The MCS of C ∪ {¬c1, .., ¬ck } are potential corrections Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 11
  • 12. Problem Motivating example Experiments Conclusion Example (1) Program AbsMinus : an error has been introduced in line 10, thus for the input data {i = 0, j = 1}, it returns −1 Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 12
  • 13. Problem Motivating example Experiments Conclusion Example (2) Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 13
  • 14. Problem Motivating example Experiments Conclusion Example (3) Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 14
  • 15. Problem Motivating example Experiments Conclusion Experiments - Process systems and tools • LocFaults: → MIP solver of IBM ILOG CPLEX → CPBPV system to generate the CFG and CE → Benchmarks: Java programs • BugAssist: → MaxSAT solverMSUnCore2 → Benchmarks: ANSI-C programs Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 15
  • 16. Problem Motivating example Experiments Conclusion Experiments - Benchmarks • TCAS : an aircraft collision avoidance system. The program contains 173 lines of C code with almost no arithmetic operations. The suite contains 41 faulty versions • Tritype takes three positive integers as inputs (i, j, k) the triangle sides, and returns the value 2 if the inputs correspond to an isosceles triangle, the value 3 if they correspond to an equilateral triangle, the value 1 if they correspond to some other triangle, and the value 4 otherwise. Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 16
  • 17. Problem Motivating example Experiments Conclusion Experiments - Results on TCAS suite • Computation times: no significant difference • At most one deviation required except for version V41 where two deviations were required • Size of the set of suspicious instructions identified by BUGASSISTin general larger than the sum of the sizes of the sets of suspicious instructions generated by LOCFAULTS • BUGASSISTidentifies a bit more errors than LOCFAULTS • LOCFAULTSreports a set of MCS for each faulty path → the error localization process is much more easier than with the single set of suspicious errors reported by BUGASSIST Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 17
  • 18. Problem Motivating example Experiments Conclusion Experiments - Error on Tritype • TritypeV1 : error in the last assignment statement of the program • TritypeV2 : error in a nested condition, just before the last assignment • TritypeV3 : the error an assignment and will entail a bad branching • TritypeV4: error in condition, at the beginning of the program • TritypeV5 : wo wrong conditions in this program • TritypeV6 : a variation that returns the perimeter of the triangle • TritypeV7 : a variation that computes the square of the surface of the triangle by using Heron’s formula Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 18
  • 19. Problem Motivating example Experiments Conclusion Experiments - Results on Tritype (2) Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 19
  • 20. Problem Motivating example Experiments Conclusion Experiments - Results on Tritype (3) Program LocFaults BugAssist P L P L = 0 ≤ 1 ≤ 2 ≤ 3 TritypeV7 0, 722s 0, 051s 0, 112s 0, 119s 0, 144s 0, 140s 20, 373s TritypeV8 0, 731s 0, 08s 0, 143s 0, 156s 0, 162s 0, 216s 25, 562s Computation times for non linear Trityp programs Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 20
  • 21. Problem Motivating example Experiments Conclusion Conclusion and Discussion • Flow-based and incremental approach of LOCFAULTSis a good way to help the programmer with bug hunting since it locates the errors around the path of t he counter-example • Constraint-based framework is well adapted for handling arithmetic operations and it can be extended in straightforward way for handling programs with floating-point numbers computations Réunion VACSIM - Cachan Octobre 2014 Verifying FP-programs Michel Rueher 21