Förderjahr 2022 / Stipendien Call #17 / ProjektID: 6428 / Projekt: Automated Diagnosis of Heisenbugs
Ich freue mich bekanntzugeben, dass unser Paper zum Thema Heisenbugs nach einem sorgfältigen Peer Review Prozess auf der Konferenz für Software Engineering and Formal Methods (SEFM) 2023 zur Veröffentlichung akzeptiert wurde. Das Paper präsentiert eine formale Definition von Heisenbugs und gibt die formalen Grundlagen für die Suche nach Ursachen.
Publikation
Titel und Abstract der Publikation sind wie folgt:
S. Sallinger, G. Weissenbacher, F. Zuleger “A Formalization of Heisenbugs and Their Causes”.
Abstract:
The already challenging task of identifying the cause of a bug becomes even more cumbersome if those bugs disappear or change their behavior under observation. Such bugs occur in a range of contexts including elusive concurrency bugs as well as unintended system alterations during debugging and — as a pun on the name of Werner Heisenberg — are often referred to as Heisenbugs. Heisenbugs can be caused by various sources of nondeterminism on different system levels, many of which developers and testers might not even be aware of. This paper provides formal foundations for rigorously reasoning about causes of Heisenbugs. It provides a formal definition of Heisenbugs in terms of a hyperproperty and introduces a framework for determining the causality of Heisenbugs in presence of multiple candidate causes based on said hyperproperty. We analyze the properties of causes and the implications on practical causal analyses.
Konferenz
Ich durfte unser Paper im November 2023 im Zuge der SEFM Konferenz an der Technischen Universität Eindhoven präsentieren. Der Vortrag ist beim Publikum auf reges Interesse gestoßen und es haben sich in den folgenden Tagen viele spannende Diskussionen ergeben.
Abgesehen von den Gesprächen über mein Forschungsthema, habe ich auch spannende Einblicke in andere aktuellen Forschungsthemen bekommen und konnte Kontakte zu anderen Forscher:innen aus der ganzen Welt knüpfen. Besonders spannend fand ich den Keynote Vortrag von Burcu Kulahcioglu Ozkan mit dem Titel "Randomized Testing of Distributed Systems". In dieser Arbeit geht es darum Fehler in verteilten Systemen zu finden. Derartige Fehler werden oft vom genauen zeitlichen Ablauf von nebenläufigen Prozessen verursacht und stellen daher eine spezielle Art von Heisenbugs dar. Die Fehler werden mittels randomisierter Tests gefunden, eine Methode die auf formalen Techniken aufbaut und so trotz einer unvollständigen Untersuchung aller möglicher Fälle theoretische Garantien geben kann.
In Summe war der Konferenzbesuch eine großartige Lernerfahrung und die positive Rezeption unsere Arbeit hat dem Projekt viel positiven Schwung verliehen.
Sarah Sallinger
I am a PhD student in the Rigorous Systems Engineering group at TU Wien. I am driven by the desire to better understand the inner workings of complex computer systems and I want to develop tools that help in this process. My research interests broadly span the fields of computer aided verification, program analysis and automated bug detection and diagnosis.