Andreas Ziegler

Dr.-Ing. Andreas Ziegler

Department of Computer Science
Chair of Computer Science 4 (Systems Software)

I’m researching the automatic tailoring of system software stacks to their use case. This includes the operating system which – in the case of Linux – provides a rich configuration interface, but also extends into the user space software ecosystem with dozens or more shared libraries and large dependency trees starting from the application binaries. As both sides have different requirements and challenges, I, together with colleagues and students, developed automated methods for either case: – We make intensive use of the configuration system if one is present and generate a minimized configuration for a specific use case (see our HotDep ’12, NDSS ’13 and GPCE ’14 papers) – If we either do not have a configuration system or even no source code at all, we can automatically remove functions from ELF binary files and shrink their files to a minimal size without needing to modify existing code (see our EMSOFT ’19 paper). In addition to tailoring a system at a certain point in time, we also developed a method to quantify the impact of the reduced code base to the maintenance efforts. By combining AST hashing (ATC ’17) and the shared library tailoring process we can help maintainers to decide if upstream patches to a library need to be applied to a tailored system or if they do not have an effect on the deployed system. My research tools are all open-source and published on my GitHub profile.