Introduction to Semantic Patching of C programs with Coccinelle
|Date:||Tuesday, March 24, 2020, 10:00 - 17:00|
|Location:||LRZ Building, Garching/Munich, Boltzmannstr. 1, Kursraum 2, H.U.010|
``Coccinelle is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. Coccinelle was initially targeted towards performing collateral evolutions in Linux. Such evolutions comprise the changes that are needed in client code in response to evolutions in library APIs, and may include modifications such as renaming a function, adding a function argument whose value is somehow context-dependent, and reorganizing a data structure. Beyond collateral evolutions, Coccinelle is successfully used (by us and others) for finding and fixing bugs in systems code.'' (http://coccinelle.lip6.fr/)
The maintenance of a large software project can be very demanding.
Have you ever wondered how to detect and manipulate specified classes of C code constructs, be it for code analysis, or better, to restructure an arbitrarily large codebase according to a specified, non-trivial `pattern', without writing a C compiler ?
Contents are subject to modifications.
Good C/C++ knowledge required. HPC experience recommended.
The content level of the course is broken down as:
|Teachers:||Dr. Michele Martone (LRZ) (you can contact me in case of questions)|
|Registration:||Via the LRZ registration form. Please choose course HSPC2W19.|