Number of hours
- Lectures 18.0
- Projects -
- Tutorials -
- Internship -
- Laboratory works -
- Written tests -
ECTS
ECTS 3.0
Goal(s)
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.
Akram IDANI
Content(s)
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
Course Model-Driven Engineering
One written exam
The exam is given in english only
The course exists in the following branches:
- Curriculum - Master 2 in Computer Science - Semester 9 (this course is given in english only )
Course ID : WMM9MO09
Course language(s):
You can find this course among all other courses.