CHESS Industrial Day 2023
The aim of CHESS Industrial Day 2023 is to bring together researchers and practitioners in formal methods from industry and academia. The event provides an informal platform for exchanging practical experience with methods and tools for software analysis/verification/testing, and discussing their benefits and bottlenecks. It is organized by the Cyber-security Excellence Hub in Estonia and South Moravia (CHESS).
Date: December 8, 2023
Place: KYPO, Faculty of Informatics, Masaryk University, Botanická 68a, 60200 Brno, CZ
Contact: Antonín Kučera (FI MUNI), Jan Strejček (FI MUNI), Tomáš Vojnar (FIT BUT)
The Program includes invited presentations reporting the use/advantages/bottlenecks of formal methods in industrial practice and tool demos. Coffee, light snacks, and lunch are provided by the organizers, and there is enough space for informal communication.
8:40 - 9:00 | Registration |
9:00 - 9:10 | Opening |
9:10 - 10:30 |
Talks I |
10:30 - 11:00 | Coffee Break |
11:00 - 12:00 | Talks II Lukáš Zaoral and Vincent Mihalkovič (Red Hat) Static and Dynamic Analysis of a Linux Distribution Abstract: Explore the pivotal role of static and dynamic analysis in Red Hat's RPM package ecosystem. Delve into reproducible builds, upstream-downstream dynamics, and the impact of static analysis on developers. Uncover the intricacies of dynamic analysis and ELF interpreters. The presentation covers the usage of various tools like csmock, OpenScanHub, and a focus on differential analysis with ShellCheck, providing key insights into Red Hat's software distribution practices. David Kozák (Oracle Labs) Whole-Program Points-to Analysis in GraalVM Native Image Abstract: GraalVM Native Image is an ahead-of-time compiler for Java bytecode that creates standalone native executables called images. During the compilation process, a unique combination of points-to analysis, class initialization at build time, and heap snapshotting is used to optimize the application. In this talk, I will describe how points-to analysis is used inside GraalVM Native Image, the technical challenges we had to overcome to make it scalable for large real-world applications and discuss the potential of future research in this area. |
12:00 - 13:00 | Lunch (preceded by a group photo) |
13:00 - 14:15 | Tools I Ondra Vašíček and Jan Fiedor (FIT BUT / Honeywell) Unite/UniC – Making Analysis Tools More Accessible Using an OSLC-based Service-Oriented Architecture Abstract: We present a service-oriented architecture that allows developers to easily introduce new analysis tools to their users and the users to immediately be able to use these tools from their applications. The architecture consists of three main components: (1) Unite, a universal OSLC adapter able to transform any non-interactive command line tool into an OSLC-compliant web service, (2) UniC, a Java-based and Eclipse-compatible Client for Unite which can be configured for any tool transformed by Unite due to its flexible and highly extensible architecture, and (3) Eclipse Arrowhead, an IoT framework enabling automatic discovery of services provided by the analysis tools through Unite. DiffKemp – Automatically Checking Semantic Equivalence in Large-Scale C Projects Abstract: The talk will present DiffKemp – a tool for static analysis of semantic equivalence between versions of large-scale C projects. Contrary to existing tools, usually based on formal methods, DiffKemp uses a unique combination of pattern matching with lightweight static analysis and control-flow transformations. Thanks to the used approach, DiffKemp, unlike other existing tools, gives practical results on projects of the size of the Linux kernel. https://github.com/viktormalik/diffkemp Marek Trtík (FI MUNI) Fizzer Abstract: Fizzer is a new gray-box fuzzer of C programs. Its goal is to produce a test suite maximizing the branch coverage. That is achieved by a dynamic taint analysis and a gradient descent. https://github.com/staticafi/sbt-fizzer |
14:15 - 14:45 | Coffee Break |
14:45 - 16:00 |
Tools II |
16:00 | Closing |
The event is funded by the European Union under the Grant Agreement No. 101087529.