Property probes: Live exploration of program analysis results

Anton Risberg Alaküla,Görel Hedin,Niklas Fors,Adrian Pop
DOI: https://doi.org/10.1016/j.jss.2024.111980
IF: 3.5
2024-02-03
Journal of Systems and Software
Abstract:We present property probes , a mechanism for helping a developer explore partial program analysis results in terms of the source program interactively while the program is edited. A node locator data structure is introduced that maps between source code spans and program representation nodes, and that helps identify probed nodes in a robust way, after modifications to the source code. We have developed a client–server based tool CodeProber supporting property probes, and argue that it is very helpful in debugging and understanding program analyses. We have evaluated our tool on several languages and analyses, including a full Java compiler and a tool for intraprocedural dataflow analysis. Our performance results show that the probe overhead is negligible even when analyzing large projects.
computer science, theory & methods, software engineering
What problem does this paper attempt to address?