Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Une approche incrémentale combinant les techniques BMC et un problème CSP pour l'aide à la localisation d'erreurs

11,682 views

Published on

Dans cet exposé, nous présentons notre algorithme amélioré de localisation d'erreurs a partir de contre-exemples, LocFaults, basé sur la programmation par contraintes et dirigé par les flots. Cet algorithme analyse les chemins du CFG (Control Flow Graph) du programme erroné pour calculer les sous-ensembles d'instructions suspectes permettant de corriger le programme. En effet, nous générons un système de contraintes pour les chemins du graphe de flot de contrôle pour lesquels au plus k instructions conditionnelles peuvent être erronées. Ensuite, nous calculons les MCS (Minimal Correction Set) de taille limitée sur chacun de ces chemins. La suppression de l'un de ces ensembles de contraintes donne un sous-ensemble satisfiable maximal, en d'autres termes, un sous-ensemble maximal de contraintes satis-faisant la postcondition. Pour calculer les MCS, nous étendons l'algorithme générique proposé par Liffiton et Sakallah dans le but de traiter des programmes avec des instructions numériques plus efficace-ment. Nous nous intéressons a présenter l'aspect incrémental de ce nouvel algorithme qui n'est pas encore présenté aux JFPC.

Published in: Software
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Une approche incrémentale combinant les techniques BMC et un problème CSP pour l'aide à la localisation d'erreurs

  1. 1. Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs JFPC 2015 Bordeaux, 22-24 Juin Mohammed Bekkouche, Hélène Collavizza, Michel Rueher {bekkouch,helen,rueher}@unice.fr I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France
  2. 2. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Plan Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives
  3. 3. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche 2Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Introduction La localisation d’erreurs : une tâche importante et complexe Un programme peut contenir des erreurs Ces erreurs peuvent nuire au bon fonctionnement du programme Le processus de débogage logiciel est inévitable → La détection, la localisation, la correction des erreurs La localisation d’erreurs est l’étape la plus coûteuse
  4. 4. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche 3Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Introduction La localisation d’erreurs : une tâche importante et complexe → Lorsqu’un programme est non-conforme vis-à-vis de sa spécification, à savoir, le programme est erroné : Les outils de BMC(Bounded Model Checking) et de test peuvent générer un ou plusieurs contre-exemples La trace du contre-exemple: souvent longue et compliquée à comprendre Difficile pour localiser les parties erronées du code Débogage ⇒ difficile et prend du temps
  5. 5. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche 4Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Introduction Le problème: entrées et sortie Entrées Un programme impératif erroné La postcondition violée POST Un contre-exemple CE fourni par un outil BMC Sortie Un ensemble réduit d’instructions potentiellement erronées
  6. 6. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche 5Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Introduction Les questions clés Quels sont les chemins à analyser ? Chemin du contre-exemple Déviations à partir du chemin du contre-exemple Comment identifier les instructions suspectes du programme ? Calcul des sous-ensembles minimales d’instructions à retirer pour satisfaire la postcondition → Minimal Correction Subsets (MCSs) Calcul des sous-ensembles minimales d’instructions en contradiction avec la postcondition → Minimal Unsatisfiable Subsets (MUSs)
  7. 7. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction 6Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Exemple Calcul de la valeur absolue de i-j 1 class AbsMinus { 2 /∗ returns | i−j | , the absolute value of i minus j ∗/ 3 /∗@ ensures 4 @ ( r e s u l t ==| i−j | ) ; 5 @∗/ 6 void AbsMinus ( i n t i , i n t j ) { 7 i n t r e s u l t ; 8 i n t k = 0; 9 i f ( i <= j ) { 10 k = k+2; / / error : k = k+2 instead of k=k+1 11 } 12 i f ( k == 1 && i != j ) { 13 r e s u l t = j−i ; 14 } 15 else { 16 r e s u l t = i−j ; 17 } 18 } 19 }
  8. 8. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction 6Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Exemple Calcul de la valeur absolue de i-j 1 class AbsMinus { 2 /∗ returns | i−j | , the absolute value of i minus j ∗/ 3 /∗@ ensures 4 @ ( r e s u l t ==| i−j | ) ; 5 @∗/ 6 void AbsMinus ( i n t i , i n t j ) { 7 i n t r e s u l t ; 8 i n t k = 0; 9 i f ( i <= j ) { 10 k = k+2; / / error : k = k+2 instead of k=k+1 11 } 12 i f ( k == 1 && i != j ) { 13 r e s u l t = j−i ; 14 } 15 else { 16 r e s u l t = i−j ; 17 } 18 } 19 }
  9. 9. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction 7Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Exemple Le chemin du contre-exemple POST:{r1 == |i − j|} {i0 = 0, j0 = 1, k0 = 0, k1 = k0 + 2, r1 = i0 − j0, r1 = |i − j|} est inconsistant Seulement un seul MCS sur le chemin : {r1 = i0 − j0}
  10. 10. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction 8Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Exemple Le chemin obtenu en déviant la condition i0 ≤ j0 La condition déviée : {i0 ≤ j0} P = {i0 = 0, j0 = 1, k0 = 0, k1 = 0, r1 = −1} P ∪ {r1 = |i − j|} est inconsistant La déviation {i0 ≤ j0} ne corrige pas le programme
  11. 11. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction 9Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Exemple Le chemin obtenu en déviant la condition k1 = 1 ∧ i0! = j0 The deviated condition : {(k1 = 1 ∧ i0! = j0)} P = {i0 = 0, j0 = 1, k0 = 0, k1 = 2, r1 = 1} La déviation {(k1 = 1 ∧ i0! = j0)} corrige le programme C = {i0 = 0, j0 = 1, k0 = 0, k1 = k0 + 2, ¬(k1 = 1 ∧ i0! = j0)}
  12. 12. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction 9Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Exemple Le chemin obtenu en déviant la condition k1 = 1 ∧ i0! = j0 The deviated condition : {(k1 = 1 ∧ i0! = j0)} P = {i0 = 0, j0 = 1, k0 = 0, k1 = 2, r1 = 1} P ∪ {r1 = |i − j|} est inconsistant La déviation {(k1 = 1 ∧ i0! = j0)} corrige le programme C = {i0 = 0, j0 = 1, k0 = 0, k1 = k0 + 2, ¬(k1 = 1 ∧ i0! = j0)} C est inconsistant MCS sur le chemin : {k0 = 0}, {k1 = k0 + 2}
  13. 13. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction 10Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Exemple Le chemin d’une déviation non-minimale : {i0 ≤ j0, k1 = 1 ∧ i0! = j0} Les conditions déviées : {i0 ≤ j0, (k1 = 1 ∧ i0! = j0)} P = {i0 = 0, j0 = 1, k0 = 0, k1 = 0, r1 = 1}
  14. 14. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction 10Exemple Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Exemple Le chemin d’une déviation non-minimale : {i0 ≤ j0, k1 = 1 ∧ i0! = j0} Les conditions déviées : {i0 ≤ j0, (k1 = 1 ∧ i0! = j0)} P = {i0 = 0, j0 = 1, k0 = 0, k1 = 0, r1 = 1} P ∪ {r1 = |i − j|} est consistant La déviation est non-minimale
  15. 15. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple 11Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Approche LocFaults MCS: Minimal Correction Subset MCS: Définition Soit C un ensemble de contraintes infaisable M ⊆ C est un MCS ⇔    M ⊆ C Sol(< X, CM, D >) = ∅ C ⊂ M : Sol(< X, CC , D >) = ∅
  16. 16. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple 11Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Approche LocFaults MCS: Minimal Correction Subset MCS: Définition Soit C un ensemble de contraintes infaisable M ⊆ C est un MCS ⇔    M ⊆ C Sol(< X, CM, D >) = ∅ C ⊂ M : Sol(< X, CC , D >) = ∅
  17. 17. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple 11Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Approche LocFaults MCS: Minimal Correction Subset MCS: Définition Soit C un ensemble de contraintes infaisable M ⊆ C est un MCS ⇔    M ⊆ C Sol(< X, CM, D >) = ∅ C ⊂ M : Sol(< X, CC , D >) = ∅
  18. 18. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple 11Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Approche LocFaults MCS: Minimal Correction Subset MCS: Définition Soit C un ensemble de contraintes infaisable M ⊆ C est un MCS ⇔    M ⊆ C Sol(< X, CM, D >) = ∅ C ⊂ M : Sol(< X, CC , D >) = ∅ MCS: Exemple C = {c1 : i = 0, c2 : v = 5, c3 : w = 6, c4 : z = i + v + w, c5 : ((z = 0 ∨ i = 0) ∧ (v ≥ 0) ∧ (w ≥ 0))} est inconsistant C a 4 MCS: {c1}, {c4}, {c5},{c2, c3}
  19. 19. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple 12Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Approche LocFaults Algorithme (LocFaults) Calcul des MCS sur le chemin du CE Exploration DFS du CFG en propageant le CE et en déviant au moins k instructions conditionnelles c1, .., ck P: contraintes de propagation issues du CE (de la forme variable = constante) C: contraintes du chemin jusqu’à ck Si P |= POST: * {¬c1, .., ¬ck } est une correction, * MCS de C ∪ {¬c1, .., ¬ck } sont des corrections Une borne pour les MCS calculés et les conditions déviées
  20. 20. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple 13Approche LocFaults Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Approche LocFaults Algorithme (LocFaults) Processus pour k = 1 Décision pour la première instruction conditionnelle est déviée et les données d’entrée du CE sont propagées → nouveau chemin P’ ssi le CSP de P’ est satisfiable, MCS sont calculés pour P’ Le processus est redémarré et la décision de la prochaine instruction conditionnelle de P est déviée (une seule décision est modifiée sur l’ensemble du chemin) Processus pour k > 1 Un nœud conditionnel n est marqué avec le nombre de déviations réussies effectuées sur le chemin courant avant d’atteindre n À l’étape k, la décision pour un nœud marqué k’ est seulement déviée ssi k < k
  21. 21. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 14Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Benchmarks Le programme Tritype : Entrée: trois entiers positifs, les côtés du triangle Sortie: la valeur 2 si les entrées correspondent à un triangle isocèle la valeur 3 si les entrées correspondent à un triangle équilatéral la valeur 1 si les entrées correspondent à un triangle scalène la valeur 4 sinon TCAS(Traffic Collision Avoidance System), une benchmark réaliste : → 1608 cas de test → 173 de lignes de code C avec presque aucune opération arithmétique → La suite contient 41 versions erronées
  22. 22. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 15Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Outils utilisés LocFaults: notre implémentation → Les solveurs CP OPTIMIZER et CPLEX d’IBM → L’outil CPBPV pour générer le CFG et CE → Benchmarks: les programmes Java BugAssist: l’outil de localisation d’erreurs implémentant l’approche BugAssist → Le solveur MaxSAT MSUnCore2 → Benchmarks: les programmes ANSI-C
  23. 23. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 16Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Résultats (MCS identifiés) Programme Contre-exemple Erreurs LocFaults BugAssist= 0 = 1 = 2 = 3 TritypeV1 {i = 2, j = 3, k = 2} 54 {54} {26} {29, 32} / {26, 27, 32, {48},{30},{25}{53, 57},{30},{25} 33, 36, 48, 57, 68} TritypeV2 {i = 2, j = 2, k = 4} 53 {54} {21} {29, 57} / {21, 26, 27, {26} {32, 44} 29, 30, 32, {35},{27},{25} 33, 35, 36, {53},{27},{25} 33, 35, 36, 53, 68} TritypeV3 {i = 1, j = 2, k = 1} 31 {50} {21} {33, 45} / {21, 26, 27, {26} 29, 31, 33, {29} 34, 36, 37, {36},{31},{25} 49, 68} {49},{31},{25} TritypeV4 {i = 2, j = 3, k = 3} 45 {46}{45},{33},{25} {26, 32} {32, 35, 49}{26, 27, 29, {32, 35, 53} 30, 32, 33, {32, 35, 57} 35, 45, 49, 68} TritypeV5 {i = 2, j = 3, k = 3} 32,45 {40} {26} {32, 45} / {26, 27, 29, {29} {35, 49},{25} 30, 32, 33, {35, 53},{25} 35, 49, 68} {35, 57},{25} TritypeV6 {i = 2, j = 1, k = 2} 58 {58} {31} / / {28, 29, 31, {37},{32},{27} 32, 35, 37, 65, 72} TritypeV7 {i = 2, j = 1, k = 2} 58 {58} {31} / / {72, 37, 53, {37},{27},{32} 49, 29, 35, 32, 31, 28, 65, 34, 62} TritypeV8 {i = 3, j = 4, k = 3} 61 {61} {29} / / {19, 61, 79, {35},{30},{25} 35, 27, 33, 30, 42, 29, 26, 71, 32, 48, 51, 54} LocFaults fournit une localisation plus explicative et informative
  24. 24. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 17Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Résultats sur TritypeV1 (MCS identifiés) Programme Contre-exemple Erreurs LocFaults BugAssist= 0 = 1 = 2 = 3 TritypeV1 {i = 2, j = 3, k = 2} 54 {54} {26} {29, 32} / {26, 27, 32, {48},{30},{25}{53, 57},{30},{25} 33, 36, 48, 57, 68}
  25. 25. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 18Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Tritype V7 et V8 TritypeV7 : une variation qui retourne le produit des trois côtés TritypeV8 : une variation qui retourne le carré de la surface du triangle en utilisant la formule de Héron
  26. 26. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 19Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Résultats (temps de calcul pour les programmes non linéaires) Programme LocFaults BugAssist P L P L= 0 ≤ 1 ≤ 2 ≤ 3 TritypeV7 0, 722s 0, 051s 0, 112s 0, 119s 1, 144s 0, 140s 20, 373s TritypeV8 0, 731s 0, 08s 0, 143s 0, 156s 0, 162s 0, 216s 25, 562s
  27. 27. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 19Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Résultats (temps de calcul pour les programmes non linéaires) Programme LocFaults BugAssist P L P L= 0 ≤ 1 ≤ 2 ≤ 3 TritypeV7 0, 722s 0, 051s 0, 112s 0, 119s 1, 144s 0, 140s 20, 373s TritypeV8 0, 731s 0, 08s 0, 143s 0, 156s 0, 162s 0, 216s 25, 562s LocFaults est plus rapide que BugAssist pour ces benchmarks
  28. 28. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 20Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Résultats (nombre d’erreurs localisées pour TCAS) Programme Nb_E Nb_CE LF BA V1 1 131 131 131 V2 2 67 67 67 V3 1 23 23 13 V4 1 20 4 20 V5 1 10 9 10 V6 1 12 11 12 V7 1 36 36 36 V8 1 1 1 1 V9 1 7 7 7 V10 2 14 12 14 V11 2 14 12 14 V12 1 70 45 48 V13 1 4 4 4 V14 1 50 50 50 V16 1 70 70 70 V17 1 35 35 35 V18 1 29 28 29 V19 1 19 18 19 V20 1 18 18 18 V21 1 16 16 16 V22 1 11 11 11 V23 1 41 41 41 V24 1 7 7 7 V25 1 3 2 3 V26 1 11 7 11 V27 1 10 9 10 V28 1 75 74 58 V29 1 18 17 14 V30 1 57 57 57 V34 1 77 77 77 V35 1 75 74 58 V36 1 122 120 126 V37 1 94 21 94 V39 1 3 2 3 V40 2 122 72 122 V41 1 20 16 20
  29. 29. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults 20Expérience pratique Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Expérience pratique Résultats (nombre d’erreurs localisées pour TCAS) Programme Nb_E Nb_CE LF BA V1 1 131 131 131 V2 2 67 67 67 V3 1 23 23 13 V4 1 20 4 20 V5 1 10 9 10 V6 1 12 11 12 V7 1 36 36 36 V8 1 1 1 1 V9 1 7 7 7 V10 2 14 12 14 V11 2 14 12 14 V12 1 70 45 48 V13 1 4 4 4 V14 1 50 50 50 V16 1 70 70 70 V17 1 35 35 35 V18 1 29 28 29 V19 1 19 18 19 V20 1 18 18 18 V21 1 16 16 16 V22 1 11 11 11 V23 1 41 41 41 V24 1 7 7 7 V25 1 3 2 3 V26 1 11 7 11 V27 1 10 9 10 V28 1 75 74 58 V29 1 18 17 14 V30 1 57 57 57 V34 1 77 77 77 V35 1 75 74 58 V36 1 122 120 126 V37 1 94 21 94 V39 1 3 2 3 V40 2 122 72 122 V41 1 20 16 20 Les performances de LocFaults et BugAssist sont très similaires sur ces programmes bien adaptés pour un solveur booléen
  30. 30. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults Expérience pratique 21Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Travaux connexes Approche basées sur SAT BugAssist Une méthode BMC, comme la notre Les principales différences : → Elle transforme le programme en entier en une formule SAT → Elle se base sur l’utilisation des solveurs MaxSAT + Une approche globale – Elle n’est pas efficace pour les programmes avec calcul numérique – Elle fusionne les MCSs du programme dans un seul ensemble d’instructions suspectes
  31. 31. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults Expérience pratique 22Travaux connexes Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Travaux connexes Approches basées sur le test systématique Tarantula, Ochiai, AMPLE, Jaccard, Heuristics III Classement des instructions suspectes détectées durant l’exécution d’une batterie de tests + Des approches simples – Besoins de beaucoup de cas de tests – Les approches qui nécessitent l’existence d’un oracle → Décidez si le résultat de dizaines de milliers de tests est correct Notre cadre moins exigeant → Bounded Model Checking
  32. 32. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes 23Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Conclusion and perspectives Conclusion Une approche incrémentale et dirigée par les flots → localise les erreurs autour du chemin du contre-exemple Cadre fondé sur les contraintes → bien adapté pour le traitement des opérations arithmétiques → peut être étendue pour traiter les programmes avec calculs sur les nombres à virgule flottante
  33. 33. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes 24Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Conclusion and perspectives Perspectives Développement d’une version interactive de notre outil : → Fournir les localisations l’une après les autres → Tirant profit de la connaissance de l’utilisateur pour sélectionner la condition qui doit être déviée Étendre notre approche pour la localisation des erreurs dans les programmes avec calculs sur les nombres à virgule flottante
  34. 34. 25 Une approche incrémentale combinant les techniques BMC et un problème CSP pour l’aide à la localisation d’erreurs Mohammed Bekkouche Introduction Exemple Approche LocFaults Expérience pratique Travaux connexes 25Conclusion et perspectives I3S Laboratory, UNS-CNRS University of Nice-Sophia Antipolis France Merci pour votre attention. Questions ?

×