Events

Home

Events

Inter$^2$

January 12th Inter$^2$ seminar - Tobias Landsberg (Universität Hannover)

January 12th Inter$^2$ seminar - Tobias Landsberg (Universität Hannover)

Tobias Landsberg is a research assistant at Leibniz Universität Hannover. After completing his Master's degree in Hannover, he stayed at the Institute of Systems Engineering to work on his PhD thesis. His research focuses on tooling for the development life cycle of statically configurable software with the help of various static analysis techniques.



Title: Reducing Deployment Costs for Compile-Time Variants by Static Analysis

Abstract: Deploying software updates is a costly endeavor for both vendors and customers. Each update requires building, testing and possibly verifying the software on the vendor's end. For the customer, an update may result in a disruption of service with all its costs. In practice, this is one of the reasons for "patch gaps". In an environment of statically configurable software, where each customer has its specific configuration resulting in its own variant, the costs scale with the number of customers.

To reduce these costs, we propose a two-step approach. First, instead of updating all variants every time, we exclusively deploy updates to variants affected by a patch. For this purpose, we have implemented a compiler plugin that tracks which code is used by which variant. Given a specific patch, we then use this information to determine which variant is affected. Second, we reduce the costs for each required update by identifying similarities between variants to lower the number of unit-test executions. With this in mind, we recursively compose hashes of the defining elements of a unit test with all its dependencies on AST-level at compile time into a semantic fingerprint. This fingerprint is easy to store and remains stable across changes if the test's run-time behavior is not affected. By storing these fingerprints, we can detect and skip unit tests that were already executed in the past.

Our evaluation shows that in the first step, out of 200 patches for OpenSSL, 44 percent of deployments can be omitted for a set of 15 configurations. For the second step, we can skip 66 percent of test executions (100 patches).

Our Office

Université du Luxembourg
Department of Mathematics (DMATH)
Maison du nombre (MNO)
6, avenue de la Fonte
L-4364 Esch-sur-Alzette, Luxembourg

Contact Us

Drop us an email

© Team MIDAS. All Rights Reserved.
Last modified: October 16, 2024 at 03:00 (version v1.1.19)

Designed by HTML Codex