13.09.2024; Vortrag
Echtzeit-AGDynamic Thread Scaling Implementation in Rust and beyond
In kernel programming, operating on data structures such as inode
require careful synchronization. However it is often difficult to
understand which locking primitives are required in which order for
which kernel data structure due to the scattered, incomplete or even
inconsistent documentation. LockDoc [1] is an approach that
automatically deduces locking rules, generates documentations and
identifies synchronization bugs by analysing execution traces of an
instrumented Linux Kernel.
To generate the trace data, LockDoc leverages FAIL* [2] as an execution
environment. However, the current tracing implementation faces a
significant performance bottleneck, limiting the scalability of LockDoc
analysis. This thesis aims to enhance LockDoc by either improving the
current FAIL* solution or developing a dedicated tracing tool tailored
to the specific demands of locking analysis. In this kickoff
presentation I will try to break down the problems and discuss potential
solutions.
[1] https://dl.acm.org/doi/10.1145/3302424.3303948
[2] https://ieeexplore.ieee.org/document/7371972