User Tools

Site Tools


gsoc:2021-gsoc-safety-critical-linux

GSoC Projects around Enabling Linux in Safety Applications (ELISA)

Main GSoC Linux Foundation page: How to apply, deadlines, other workgroups, ...

To use Linux in high-integrity regulated environment, such as safety-critical systems, security systems or systems subject to other regulatory norms, it requires to show evidences that Linux has a high software quality. High software quality is roughly assessed by two classes of measurements:

  • Observation, Measurement and Assessment of the Software Development Process and Practices
  • Verification, Analysis and Assessment of the Software Artefact

The Google Summer of Code Projects are activities that contribute to those two fields of work.

Student Project Proposals 2021

Handling Complex Types and Attributes in Coccinelle

Coccinelle, developed by Julia Lawall and her group, is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. The GSoC project proposal would be to improve the management of complex types and attributes (const, __user, etc) in the program matching and transformation tool Coccinelle. Currently, complex types are represented incorrectly, which makes it impossible to match against them in a general way. Various kinds of attributes are increasingly used in Linux kernel code, and it is important to be able to check these annotations and add them where they are missing. This project is relevant to Linux, Zephyr and many more applications.

Main contact person for this project proposal: Julia Lawall, julia.lawall at inria.fr

Develop Methods for Tracking Tool Analysis Findings over Time

We use a number of tools, checkpatch.pl, coccinelle scripts, sparse, etc. and these tools report certain findings. While the valid ones are addressed by the kernel developers, the invalid tool findings are manually assessed and not acted upon. Over time with addressing the valid findings, the proportion of invalid findings increase compared to newly appearing valid findings, as invalid findings of those tools are not marked and tracked over the various versions.

In this GSoC project, the student should work out methods and tools to track the tool findings and make these tools useful in the Linux kernel community.

Required Knowledge:

  1. Required: Very good knowledge of C, skill to READ AND UNDERSTAND source code in the Linux kernel in independent work
  2. Required: Very good knowledge of python
  3. Required: Good understanding of git
  4. Recommended: Some understanding of static analysis tools
  5. Recommended: Some understanding of coccinelle

Main contact person for this project proposal: Lukas Bulwahn, lukas.bulwahn at gmail.com

Make Linux kernel community aware of tool findings

The Linux kernel community has a number of tools to ensure the quality of the continuous kernel development. Among these tools are coccinelle, sparse, checkpatch.pl, lock dependency validator, KASAN, syzkaller and many more.

In the GSoC project, the student should find suitable ways to make the Linux developers aware of the tools' findings. There are various way in which this could be implemented, e.g.:

  1. Setting up an infrastructure that runs those tools on patches provided on the mailing list and reports the findings back to the patch authors
  2. Including the tool findings in the elixir development service
  3. Providing means to tag and comment on tool findings in the distributed Linux kernel development

This project idea is quite wide and we expect the student to provide a more specific description of the task to tackle with some evidence that he/she will be able to implement the proposal.

Required Knowledge:

  1. Required: Very good knowledge of a suitable programming language, e.g., python
  2. Required: Good understanding of git
  3. Required: Good knowledge of C
  4. Recommended: Basic understanding how the kernel community works
  5. Recommended: Basic understanding of the kernel tools

Mentor contact: Lukas Bulwahn; lukas.bulwahn-at-gmail.com

gsoc/2021-gsoc-safety-critical-linux.txt · Last modified: 2021/02/19 09:12 by till