Explanations of Interrelations in Digitally Controlled Systems

Supervisor:

Digitally controlled systems consist of software and hardware components and, hence, are developed by interdisciplinary developer teams. If the root cause for an unexpected behavior must be located, more often than not, the interplay between those software and hardware components needs to be understood. Likewise, if any of the components needs to be changed (for improvement, addition of a new feature, or just fixing a defect), the potential impact of those changes on other software or hardware components needs to be assessed. The basis of any such assessment is a thorough understanding of interrelations among the involved software and hardware components. Generally, developers are not aware of all interrelations simply because the system is too large and full of low-level details. Specifically interdisciplinary developer teams have difficulties, because software developers may not have the necessary expertise for hardware and, vice versa, hardware developers may not have the full insights into the details of the software.

Interdisciplinary developer teams would benefit from automated program analyses providing them complete and precise explanations of the interrelations in digitally controlled systems at the right level of abstraction. Automated program slicing identifies all statements in a program relevant to compute a given variable at a particular location in the program. Code summarization techniques can be used to generate documentation or summaries for pieces of code. The PhD candidate will combine program slicing and code summarization. She or he will apply them to systems developed in hardware-description languages and high-level programming languages to provide developers with all necessary details at the right level of abstraction to understand a system’s behavior.

Desirable interests, background and expertise: code summarization, large language models, program analysis, program slicing.