UE Software mining and re-engineering

Informations aux utilisateurs

Veuillez noter que vous consultez une page du catalogue de formation 2020-2021. Le recrutement est actuellement terminé pour les licences, licences professionnelles, masters, DUT et formations réglementées de santé. Pour consulter le catalogue des formations 2021-2022, cliquez sur le lien suivant.

Diplômes intégrant cet élément pédagogique :


Software mining is a recent trend in software engineering aiming to learn and discover knowledge from existing software. There are several applications of software mining like reverse engineering and data mining. Usually the knowledge obtained from existing software is exhibited in the form of models to which specific reasoning can be done, such as refactoring, code generation or model transformation.  Knowledge discovery from software systems addresses structure, behavior as well as the data processed by the software system. The intention of this course is to provide an overview of techniques allowing, on the one hand, to address software mining like pattern matching and on the other hand to achieve re-engineering such as model-to-model transformation and model-to-code techniques. 



1) Practical tool support for software mining - Coccinelle: a program matching and transformation engine which provides DSL for specifying desired matches and transformations in C code - Web crawlers and model inference: application to security policy mining in web applications 

2) Model-to-Model transformation - Concepts, foundations, and application - QVT (Query/View/Transformation) 

3) Re-engineering - Model-to-code techniques - Acceleo : an OCL-based language for code generation. - source-to-source transformations

Informations complémentaires

Méthode d'enseignement : En présence
Lieu(x) : Grenoble
Langue(s) : Anglais