Muhammad Naeem Irfan - Analysis and Optimization of Software Model Inference Algorithms

08:00
Wednesday
19
Sep
2012
Organized by: 
Muhammad Naeem Irfan (VASCO)
Speaker: 
Muhammad Naeem Irfan
Teams: 

Soutenance : amphithéâtre de la MJK, 110 av. de la Chimie - 38400 Saint Martin d’Hères, Domaine universitaire

Composition du jury :

  • Alexandre PETRENKO, CRIM (Canada), Rapporteur
  • Colin DE LA HIGUERA, Université de Nantes, Rapporteur
  • Roland GROZ, Grenoble INP, Directeur de thèse
  • Catherine ORIAT, Grenoble INP, CoDirecteur de thèse,
  • Eric GAUSSIER, Université Joseph Fourier, Examinateur,
  • Frédéric DADEAU, Université de Franche-Comté besançon, Examinateur

 

Réalisation technique : Djamel Hadji | Tous droits réservés

Despite the apparent advantage, software models are often neglected during the development phase and mostly very partial specifications of software systems are available. Maintaining formal models is time consuming and expensive. Even if one tries to maintain software models, implementations evolve rapidly with the passage of time thus invalidating such models. The software models steer the testing of software systems. The model inference technique extracts structural and design information of a software system and presents it as a formal model. The learned abstract software model is consistent with the behavior of the particular software system. However, the learned models are rarely complete and it is difficult to calculate the number of tests required to learn precise and complete model of a software system.

The thesis provides analysis and improvements on the Mealy adaptation of the model inference algorithm L* [Angluin 87]. We target to reduce the number of tests required to learn Mealy models of software systems. The algorithm requires learning models by asking two types of tests. First type of tests are asked to construct models, whereas the second type of tests are asked to test the correctness of these models. The proposed techniques reduce the number of tests required to learn software models.