Dear Kernel Hackers, Coccinelle is a tool routinely used to automatically upgrade Linux kernel drivers, or catch certain bugs in C programs, or to restructure C programs. So some of you may be interested in the following event I'm holding near Munich, Germany: ******************************************************************************* "Introduction to Semantic Patching of C programs with Coccinelle" Tuesday, October 8, 2019, 10:00 - 17:00 Leibniz Supercomputing Centre (LRZ) of the Bavarian Academy of Sciences and Humanities, Garching near Munich, Boltzmannstr. 1 The maintenance of a large software project can be very demanding. External factors like evolving third-party software library APIs, or constantly changing hardware platforms might require significant code adaptions for the code to run efficiently, or to run at all. Failure in coping with this can lead to obsolescence, loss of performance, incompatibility, vendor lock-in, bugs. 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? In this training we introduce you to a tool to do exactly this: match and restructure C codebases in a programmatic, formal way. The training will also show how to analyze code looking for interesting patterns (e.g. bugs), integrate with your Python scripts to achieve the custom transformations you need, and leverage Coccinelle's limited C++ support. Special attention will be on performance-oriented transformations, of other interests of HPC practitioners. After this training, you shall be able to write your own code transformations, be it for a refactoring, performance improvement, paving the way to an experimental fork, or for debugging and further analysis. Teacher: Dr. Michele Martone (LRZ) Registration and further information https://www.lrz.de/services/compute/courses/2019-10-08_hspc1w19/ *******************************************************************************