Property probes : Live exploration of program analysis results
(2024) In Journal of Systems and Software 211.- 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... (More)
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.
(Less)
- author
- Risberg Alaküla, Anton LU ; Hedin, Görel LU ; Fors, Niklas LU and Pop, Adrian
- organization
- publishing date
- 2024-05
- type
- Contribution to journal
- publication status
- published
- subject
- keywords
- CodeProber, Debugging, Program analysis, Property probes
- in
- Journal of Systems and Software
- volume
- 211
- article number
- 111980
- publisher
- Elsevier
- external identifiers
-
- scopus:85186426377
- ISSN
- 0164-1212
- DOI
- 10.1016/j.jss.2024.111980
- language
- English
- LU publication?
- yes
- id
- 6549cf59-5df8-4b08-938c-b03cf93fa4b1
- date added to LUP
- 2024-03-14 10:59:51
- date last changed
- 2024-03-14 10:59:51
@article{6549cf59-5df8-4b08-938c-b03cf93fa4b1, abstract = {{<p>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.</p>}}, author = {{Risberg Alaküla, Anton and Hedin, Görel and Fors, Niklas and Pop, Adrian}}, issn = {{0164-1212}}, keywords = {{CodeProber; Debugging; Program analysis; Property probes}}, language = {{eng}}, publisher = {{Elsevier}}, series = {{Journal of Systems and Software}}, title = {{Property probes : Live exploration of program analysis results}}, url = {{http://dx.doi.org/10.1016/j.jss.2024.111980}}, doi = {{10.1016/j.jss.2024.111980}}, volume = {{211}}, year = {{2024}}, }