Skip to main content ITU
Logo
  • Programmes
    • BSc Programmes
    • BSc in Global Business Informatics
    • BSc in Digital Design and Interactive Technologies
    • BSc in Software Development
    • BSc in Data Science
    • Applying for a BSc programme
    • MSc Programmes
    • MSc in Digital Innovation & Management
    • MSc in Digital Design and Interactive Technologies
    • MSc in Software Design
    • MSc in Data Science
    • MSc in Computer Science
    • MSc in Games
    • Applying for an MSc programme
    • Student Life
    • Practical information for international students
    • Ask a student
    • Women in tech
    • Student organisations at ITU
    • Study start
    • Labs for students
    • Special Educational Support (SPS)
    • Study and Career Guidance
    • Exchange student
    • Become an exchange student
    • Guest Students
    • Who can be a guest student?
    • ITU Summer University
    • Open House
    • Open House - BSc programmes
    • Open House - MSc programmes
  • Professional Education
    • Master in IT Management
    • Master in IT Management
    • Admission and entry requirements
    • Contact
    • Single Subjects
    • About single subjects
    • Admission and entry requirements
    • Contact
    • Short courses | ITU Professional Courses
    • See all short courses
    • Contact
    • Contact
    • Contact us here
  • Research
    • Sections
    • Data Science
    • Data, Systems, and Robotics
    • Digital Business Innovation
    • Digitalization Democracy and Governance
    • Human-Computer Interaction and Design
    • Play Culture and AI
    • Software Engineering
    • Technologies in Practice
    • Theoretical Computer Science
    • Research Centres
    • Centre for Digital Play
    • Center for Climate IT
    • Center for Computing Education Research
    • Centre for Digital Welfare
    • Centre for Information Security and Trust
    • Research Centre for Government IT
    • Danish Institute for IT Program Management
    • Research entities
    • Research centers
    • Sections
    • Research groups
    • Labs
    • ITU Research Portal
    • Find Researcher
    • Find Research
    • Research Ethics and Integrity
    • Good Scientific Practice
    • Technical Reports
    • Technical Reports
    • PhD Programme
    • About the PhD Programme
    • PhD Courses
    • PhD Defences
    • PhD Positions
    • Types of Enrolment
    • PhD Admission Requirements
    • PhD Handbook
    • PhD Support
  • Collaboration
    • Collaboration with students
    • Project collaboration
    • Project Market
    • Student worker
    • Project postings
    • Job and Project bank
    • Employer Branding
    • IT Match Making
    • Hiring an ITU student or graduate
    • Make a post in the job bank
    • Research collaboration
    • Read more about research collaboration at ITU
    • Industrial PhD
    • Hire an Industrial PhD
    • Maritime Hub
    • Innovation and entrepreneurship
    • ITU Business Development
    • ITU NextGen
  • About ITU
    • About ITU
    • Press
    • Vacancies
    • Contact
  • DK
PhD Programme
ITU  /  Research  /  PhD Programme  /  Courses  /  Archive  /  2014  /  PhD course - Coccinelle: A Program Matching and Transformation Tool for Systems Code
  • Research
    • Research Sections
    • Research Ethics and Integrity
    • Good Scientific Practice
    • Research centers
    • Research groups
    • Labs
    • Technical Reports
    • PhD Programme
      • About the PhD Programme
      • Courses
        • 2025
        • 2024
        • Archive
          • 2023
          • 2022
          • 2021
          • 2020
          • 2019
          • 2018
          • 2017
          • 2016
          • 2015
          • 2014
            • PhD course - Analysis, Test and Verification in The Presence of Variability
            • PhD course - Children's interactions with emerging technologies and media literacy
            • PhD course - Citizenship in the Digital Republic
            • PhD course - Coccinelle: A Program Matching and Transformation Tool for Systems Code
              • PhD course - Code Scanning
              • PhD course - Complex Systems Thinking and Systems of Systems Management in IS
              • PhD course - Cubical sets
              • PhD Course - Homotopy type theory seminar
              • PhD Course - Material Play
              • PhD Course - Socialising Big Data
              • PhD Course - Structural Proof Theory
              • PhD Course - Technologies of Time
              • PhD Course - TransIT PhD Connect Symposium
            • 2013
            • 2012
            • 2011
            • 2010
        • Defences
        • PhD Positions
        • Types of Enrolment
        • PhD Admission Requirements
        • Handbook
        • PhD Support

    PhD course - Coccinelle: A Program Matching and Transformation Tool for Systems Code

     

    Lectures:

    Julia Lawall, INRIA

    Date(s) of the course:

    March 6-7, 2014

    Time:

    March 6, 2014: 13:30-17:00
    March 7, 2014: 09:00-12:00

    Place:

    The course takes place at the IT University of Copenhagen, Rued Langgaardsvej 7, DK-2300 Copenhagen S, Denmark (www.itu.dk), in room 4A05

    Course description:

    Coccinelle is a program matching and transformation tool for C code, founded on the notion of a semantic patch, in which matching and transformation specifications are expressed using a patch-like syntax. Coccinelle has been extensively used for bug finding and evolution in the context of the Linux kernel, and other C software.  This course will provide an overview of Coccinelle and its use on Linux code, as well as describing its internal design, based on a novel variant of the temporal logic CTL.

    The course will introduce a number of Coccinelle features, including the use of metavariables, the use of isomorphisms, the matching of control-flow paths, the use of iteration, and the scripting language interface.  Several real-sized examples will be considered in detail, addressing both bug finding and automating evolutions in the Linux kernel.  Numerous exercises will be provided to be worked during the class period.  Students wishing to use their own laptops should install Coccinelle as well as downloading the source code of Linux 3.2 (www.kernel.org).

    Reading list:
    Required readin
    • Dawson R. Engler, Benjamin Chelf, Andy Chou, Seth Hallem: Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions. OSDI 2000: 1-16
    • Yoann Padioleau, Julia L. Lawall, Gilles Muller: Understanding collateral evolution in Linux device drivers. EuroSys 2006: 59-71
    • Yoann Padioleau, Julia L. Lawall, René Rydhof Hansen, Gilles Muller: Documenting and automating collateral evolutions in linux device drivers. EuroSys 2008: 247-260
    Optional reading:
    • Zhenmin Li, Shan Lu, Suvda Myagmar, Yuanyuan Zhou: CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code. OSDI 2004: 289-302
    • Zhenmin Li, Yuanyuan Zhou: PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code. ESEC/SIGSOFT FSE 2005: 306-315
    • Nicolas Palix, Gaël Thomas, Suman Saha, Christophe Calvès, Julia L. Lawall, Gilles Muller: Faults in Linux: ten years later. ASPLOS 2011: 305-318
    • Asim Kadav, Michael M. Swift: Understanding modern device drivers. ASPLOS 2012: 87-98
    • Suman Saha, Jean-Pierre Lozi, Gaël Thomas, Julia L. Lawall, Gilles Muller: Hector: Detecting Resource-Release Omission Faults in error-handling code for systems software. DSN 2013: 1-12
    Credits:

    1 ECTS 

    How to sign up:

    Sign up by sending an e-mail to Aleksandar Dimovski (adim@itu.dk).

    Website:

    Can be found here


    Contact us

    Phone
    +45 7218 5000
    E-mail
    itu@itu.dk

    All contact information

    Web Accessibility Statement

    Find us

    IT University of Copenhagen
    Rued Langgaards Vej 7
    DK-2300 Copenhagen S
    Denmark
    How to get here

    Follow us

    ITU Student /
    Privacy /
    EAN-nr. 5798000417878/
    CVR-nr. 29 05 77 53 /
    P-nummer 1005162959

    This page is printed from https://en.itu.dk/Programmes/BSc-Programmes/Data-Science