Training: Semantic Patching of C and C++ Code with Coccinelle

Michele Martone michelemartone at users.sourceforge.net
Tue Dec 17 16:02:59 EST 2024


Dear Linux Kernel Hackers,

this pretty unusual on-site training at LRZ in Munich, Germany may be 
of interest to some you, despite the HPC context that motivated it.
__________________________________________________________________________________

 What: Introduction to Semantic Patching of C and C++ Programs with Coccinelle,
   or
      A language to update large swathes of C/C++ code with non-trivial changes
          (with emphasis on HPC-specific restructurings).
 Why: Code maintenance and porting to new CPUs/GPUs is difficult. This can help.
 When:               Wednesday, January 22, 2025,   09:30 - 17:30
 Where: Leibniz Supercomputing Centre, Garching near Munich, Germany  (ON-SITE)
 Who: Dr. Michele Martone    https://github.com/michelemartone
 Prerequisites: Good C/C++ knowledge; HPC experience recommended.
__________________________________________________________________________________

 Registration URL:  ===>  --->  https://tiny.badw.de/gsRkBW  <---  <===
__________________________________________________________________________________

 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 C/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 source-to-source translator yourself, but using an existing programmable one?
 
 In this training we introduce you to a tool to do exactly this: match and
 restructure code in a programmatic, formal way.
 
 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 debug/analysis reasons.
 
 The training will also show how to analyse code looking for interesting
 patterns (e.g. bugs), integrate your Python scripts to achieve the custom
 transformations you need, and leverage Coccinelle's increasing C++ support.
  
 Special mention will go to performance-oriented transformations, of interest of
 HPC practitioners.
__________________________________________________________________________________

-- 
Dr. Michele Martone                                   https://michelemartone.org
Leibniz Supercomputing Centre (LRZ)            High Performance Systems Division
Boltzmannstrasse 1           D-85748 Garching bei Muenchen               Germany
      ()     ASCII ribbon campaign   - against HTML e-mail
      /\                             - against proprietary attachments
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20241217/bb4770b7/attachment.sig>


More information about the Kernelnewbies mailing list