Ensimag Rubrique Formation 2022

Software mining & re-engineering - WMM9MO09

  • 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.

Responsible(s)

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

Prerequisites

Course Model-Driven Engineering

Test

One written exam

The exam is given in english only FR

Calendar

The course exists in the following branches:

  • Curriculum - Master 2 in Computer Science - Semester 9 (this course is given in english only EN)
see the course schedule for 2020-2021

Additional Information

Course ID : WMM9MO09
Course language(s): FR

You can find this course among all other courses.