List of Figures vi
List of Tables viiiListings ix for all their care and help. From time to time, my friends helped me escape from my research, which made me more productive and focused upon return.I also want to thank everyone who helped me with their technical expertise, especially my supervisor, Norbert Pataki, who started counseling me during my BSc studies. His counsel was indispensable for completing my dissertation, and it made Chapter 2 possible. I am thankful for my former employers and colleagues who were very supportive in allowing me to continue my research and inspired me for new problems to study. My special thanks go to Zoltán Porkoláb, Dániel Krupp, Gábor Márton, and the whole CodeChecker team at Ericsson. I could not have completed Chapter 4 and Chapter 6 without them. Moreover, I am beholden to Artem Dergachev and Aleksei Sidorin, who laid the first stepping stones for the cross translation unit analysis that is discussed in Chapter 4.Besides, I am thankful to all my co-authors, the participants of ELTE's Software Technology Laboratory, and the students who chose me as their thesis advisor. They all contributed a significant amount of work to my studies. Contributions from Réka Kovács, Péter Szécsi, Kristóf Umann, Richárd Szalay, and Barnabás Bittner were exceeding all expectations.Furthermore, I am grateful for my Google Summer of Code mentor, Ted Kremenek, who counseled me while I was implementing textual summaries for Clang discussed in Chapter 5. His insights were invaluable.Additionally, I want to thank Herb Sutter, Kyle Reed from Microsoft, and Matthias Gehre from Silexica for all their contributions to Chapter 3. My work was based on Herb's paper, while the implementation was built on top of Matthias' initial version. Kyle was working on another implementation of the lifetime analysis for the MSVC toolchain and helped my work with his insightful feedback.Finally, I am indebted to Fuchsia's toolchain team and some other engineers at Google, including Petr Hosek and Dmitri Gribenko. Petr made it possible for me to continue my research during my internship at Google. Dmitri was an enormous help in upstreaming some of the work I did on lifetime analysis.