Summary
My education
In 2006, I graduated my Baccalaureate "Natural and Life Sciences" in Sidi Bel Abbes (Algeria). In 2009, I graduated with a bachelor's degree in Computer Science "Fundamental Computer Science" at the University of Djillali Liabes in Sidi Bel Abbes. In 2011, I graduated with a master's degree in Computer Science, specialty "Computer Science theory" (CST) at the same university, I was ranked first in Master formation.
In June 2012, I got a MERS allocation at STIC Doctoral School of Nice Sophia Antipolis University, I started my thesis in October 2012. My thesis subject is : Exploring the potential of CSP for localization of errors from counter-example. I got my PhD degree in December 2015.
Research areas that interest me
- Error localization.
- Constraint Programming (CP).
A computer calculates necessarily right. The error is human. But the computer, programmed by humans, is also capable of being wrong. An error that has crept into the programming software, or was generated by the change may cause undesired operation. Even without error, the calculation of a computer is not 100% correct. Indeed, by rounding a value, even in the twentieth number after the result. Computers round too, and, on a very large number of transactions, this can sometimes give a false calculation. Of course, everything is done to anticipate and correct these errors and approximations. But in the case of complex systems, it is very difficult to foresee everything. Now, computer bugs can have terrible consequences. Error loclization from counter-examples or execution traces is a critical issue in the development of critical software. So locating portions of code that contain errors is often a difficult and expensive process, even for experienced programmers. I'm interested in developing and improving a constraint-based approach to aid for error localization for which a counter-example has been found.
When a constraint system is infeasible, know the cause of the infeasibility is important to diagnose the system. In Operations Research and Constraint Programming, different algorithms have been proposed to help the user to debug an inconsistent system of constraints. When looking for useful information for error localization on numerical constraint systems, we can take an interest in two types of information: 1) How many constraints in an unsatisfiable set of constraints can be satisfied? 2) Which part is inconsistent in the system of constraints ? To analyze the inconsistency in a constraint systems, the following subsets MCSs, MSSs, MUSs/IISs are essential tools. I am interested in algorithms that calculate all Minimal Unsatisfiable Subsets (MUSs) and Minimal Correction Subsets (MCSs).
Teachings
During 2012-2013 academic year, I had a teaching load of 64 hours in the Department of Computer Science, University of Nice-Sophia Antipolis. My lessons take place in Valrose. My teaching load was : TD on machine General Computer Science (Informatique générale) with Mr. Jacques Farré.
During the previous year (2013-2014), I did TD on machine in General Computer Science (54 hours) and in Web Introduction (Introduction Web) (12 hours) with respectively M. Jacques Farré and M. Andrea G. B. Tettamanzi. And my lessons are also in Valrose University.
During the first semester of this academic year (2014-2015), I taught 3 TD on machine in General Computer Science (54 hours) and 1 TD on Machine Web Introduction (12 hours) per week; my teachings were, respectively, with Cinzia Di Giusto and Fabien Givors. The total number of hours insured is 66.
Meetings
I participated at the school for young researchers EJCP'2013. The school was held at the Manoir of the Vicomte in Dinard from Wednesday 22 to Sunday, May 26 and INRIA Rennes Bretagne Atlantique Centre from Monday 27 to Friday, May 31.
Publications & Talks
"Combinaison des techniques de Bounded Model Checking et de Programmation Par Contraintes pour l'aide à la localisation d'erreurs (présentation)." Mohammed Bekkouche. Présentation de Thèse
"Combining techniques of Bounded Model Checking and Constraint Programming to aid for error localization." Tel-01242557 Mohammed Bekkouche. PhD thesis.
"Exploration of the scalability of LocFaults approach for error localization with While-loops programs." Hal-01132781 Mohammed Bekkouche. Submitted.
"Exploration de la scalabilité de LocFaults." Hal-01132780 Mohammed Bekkouche. Submitted.
"Une approche incrémentale combinant les techniques BMC et un problème CSP pour l'aide à la localisation d'erreurs (slides)." Mohammed Bekkouche. Presentation at the conference JFPC'15. 22-24 June 2015, Bordeaux, France.
"Un algorithme incrémental dirigé par les flots et basé sur les contraintes pour l'aide à la localisation d'erreurs." Mohammed Bekkouche. This paper has been accepted for oral presentation at JFPC 2015 and to be included in the conference proceedings. JFPC 2015 is organized at the Research Laboratory of Bordeaux in Computer Science (Labri) the 22-24 June 2015.
Dans ce papier, nous présentons l'amélioration apportée à notre algorithme de localisation d'erreurs à 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. Nous nous intéressons dans ce papier à présenter l'aspect incrémental de ce nouvel algorithme.
"LocFaults: A new flow-driven and constraint-based error localization approach (slides)." Mohammed Bekkouche, Hélène Collavizza and Michel Rueher. Presentation at the conference ACM SAC'15, SVT track. Apr 2015, Salamanca, Spain.
- English version (available)
- French version (available)
"LocFaults: A new flow-driven and constraint-based error localization approach." Mohammed Bekkouche, Hélène Collavizza and Michel Rueher. Article accepted to appear at the conference SAC 2015, the 30th ACM/SIGAPP Symposium On Applied Computing, SVT - Software Verification and Testing. Salamanca, Spain, April 13 - 17, 2015. 291 papers (24%) were accepted out of 1211 submissions !
We introduce in this paper LocFaults, a new flow-driven and constraint-based approach for error localization. The input is a faulty program for which a counter-example and a post-condition are provided. To identify helpful information for error location, we generate a constraint system for the paths of the control flow graph for which at most k conditional statements may be erroneous. Then, we calculate minimal correction sets (MCS) of bounded size for each of these paths. The removal of one of these sets of constraints yields a maximal satisfiable subset, in other words, a maximal subset of constraints satisfying the post condition. To compute the MCS, we extend the algorithm proposed by Liffiton and Sakallah in order to handle programs with numerical statements more efficiently. The main advantage of this flow-driven approach is that the computed sets of suspicious instructions are small, each of them being associated to an identified path. Moreover, the constraint-programming based framework of LocFaults allows mixing of Boolean and numerical constraints in an efficient and straightforward way. Preliminary experiments are quite encouraging.
"Constraint-Based Error Localization." Michel Rueher joined work with Mohammed Bekkouche, Hélène Collavizza The conference ICS 2015 : 2015 INFORMS Computing Society Conference. Omni Richmond Hotel Richmond, Virginia, January 11-13, 2015.
- English version (available)
- French version
"Error Localization." Mohammed Bekkouche, Hélène Collavizza, Michel Rueher. Presentation at the plenary meeting of the VACSIM project (Validation de la commande des systèmes critiques par couplage simulation et méthodes d’analyse formelle – Validation of the control of critical systems by coupling simulation and formal analysis methods). University Laboratory of Research in Automated Production (LURPA), ENS Cachan, 14 and 15 October 2014.
- English version (available)
- French version
"Une approche bornée à base de contraintes pour l'aide à la localisation d’erreurs." Mohammed Bekkouche, Hélène Collavizza, Michel Rueher. Présentation aux Dixièmes Journées Francophones de Programmation par Contraintes (JFPC 2014). Angers, France, Juin 2014, pdf.
- French version (available)
Lorsqu'un programme est non-conforme vis-à-vis de sa spécification ou dit erroné, fournir des informations utiles à la localisation des erreurs est une tâche importante pour débugger le programme mais complexe en même temps. Le but est de fournir un ensemble réduit d'instructions suspectes permettant de comprendre l'origine des erreurs dans le programme. Dans ce papier nous proposons une nouvelle approche basée sur les contraintes pour l'aide à la localisation d'erreurs pour lequel un contre-exemple est disponible, c'est-à-dire que l'on dispose d'un cas de test prouvant la non-conformité. A partir du contre-exemple, notre approche génère un système de contraintes pour chaque chemin du CFG (Control Flow Graphe) pour lequel au plus k instructions conditionnelles sont suspectées. Après, elle calcule les MCS (Minimal Correction Subsets) d'une taille bornée pour chaque chemin erroné. Le retrait d'un de ces ensemble de contraintes produit un MSS (Maximal Satisfiable Subset), un ensemble qui ne viole plus la postcondition. Nous adaptons pour cela un algorithme générique proposé par Liffiton et Sakallah afin de pouvoir traiter plus efficacement des programmes avec des calculs numériques. Nous présentons les résultats de nos expérimentations qui sont très encourageants.
- English version (available)
When a program is not conform to its specification, i.e., the program is erroneous, provide useful information for error localization is an important task to debug the program but complex at the same time. The goal is to provide a reduced set of suspicious statements to understand the origin of errors in the program. In our research we propose a new constraint-based approach to support the problem of error localization for which a counterexample is available, i.e., a test case proving the non conformity. From the counterexample, our approach generate a constraint system for each path of the CFG (Control Flow Graph) for which at most k conditional statements are suspected. Then, we calculate Minimal Correction Subsets (MCS) of bounded size for each erroneous path. The removal of one of these sets of constraints yields a Maximal Satisfiable Subset (MSS), a maximal subset of constraints satisfying the postcondition. We export and adapt the generic algorithm proposed by Liffiton and Sakallah to handle programs with numerical statements more efficiently. We present preliminary experimental results that are quite encouraging.
"Une approche CSP pour l'aide à la localisation d'erreurs." Mohammed Bekkouche, Hélène Collavizza, Michel Rueher. Dixièmes Journées Francophones de Programmation par Contraintes (JFPC 2014). HAL : hal-00957255
- Version 1(10/03/2014) (available)
Nous proposons dans cet article une nouvelle approche baséee sur la CP pour l'aide à la localisation des erreurs dans un programme. Nous supposons qu'un contre-exemple a été trouvé, c'est à dire que l'on dispose d'une instanciation des variables d'entrée qui viole la post-condition. Pour aider à localiser les erreurs, nous générons un système de contraintes pour les chemins du CFG (Graphe de Flot de Controle) où au plus k instructions conditionnelles sont susceptibles de contenir des erreurs. Puis, nous calculons pour chacun de ces chemins des ensembles minima de correction (ou MCS - Minimal Correction Set) de taille bornée. Le retrait d'un de ces ensembles de contraintes produit un MSS (Maximal Satisfiable Subset) qui ne viole plus la post condition. Nous adaptons pour cela un algorithme proposé par Liffiton et Sakallah afin de pouvoir traiter plus efficacement des programmes avec des calculs numériques. Nous présentons les résultats des premières expérimentations qui sont très encourageants.
- Version 2(25/04/2014) (available)
We introduce in this paper a new CP-based approach to support errors location in a program for which a counter-example is available, i.e. an instantiation of the input variables that violates the post-condition. To provide helpful information for error location, we generate a constraint system for the paths of the CFG (Control Flow Graph) for which at most k conditional statements may be erroneous. Then, we calculate Minimal Correction Sets (MCS) of bounded size for each of these paths. The removal of one of these sets of constraints yields a maximal satisfiable subset, in other words, a maximal subset of constraints satisfying the post condition. We extend the algorithm proposed by Liffiton and Sakallah to handle programs with numerical statements more efficiently. We present preliminary experimental results that are quite encouraging
"Constraint-based fault localization." Mohammed Bekkouche, Hélène Collavizza, Michel Rueher. Ecole jeunes chercheurs en programmation (EJCP'13). Rennes, France, Mai 2013, pdf
- French version
- English version (available)
"On going work on error localization with IIS." Mohammed Bekkouche, Hélène Collavizza, Michel Rueher. Conference room (I3S). Nice, France, Mars 2013, pdf
- French version (available)
- English version (available)
Exploration des capacités des CSP pour la localisation d'erreurs à partir de contre-exemples. Concours pour les allocations (MESR 2012). Mohammed Bekkouche, Hélène Collavizza, Michel Rueher. Salle de conférence (I3S), Nice, France, Juin 2012, pdf
- French version (available)
- English version