Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

Property probes : Live exploration of program analysis results

Risberg Alaküla, Anton LU orcid ; Hedin, Görel LU orcid ; Fors, Niklas LU orcid and Pop, Adrian (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)
Please use this url to cite or link to this publication:
author
; ; and
organization
publishing date
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}},
}