Property Probes: Source Code Based Exploration of Program Analysis Results
Viewing program analysis results in an editor is useful, both for ordinary developers and for developers of the analyses. Existing protocols for editor-analyzer communication, like LSP, are, however, typically limited to specific kinds of analysis results and do not support the exploration of analysis sub-steps. We propose a new mechanism: “property probes”, allowing users to explore analysis results for individual nodes in an abstract syntax tree (AST). Property probes are intended for language tools that represent analysis results as computed properties of AST nodes and are thus particularly suited for tools built using attribute grammars. The approach is general in that any property of an AST node can be viewed, e.g., types, dataflow information, pretty-print representation, etc. Notably, references to other AST nodes can be viewed and further explored, for example, supporting control-flow graphs. We will demonstrate a prototype tool for property probes, built with a client/server architecture and with Monaco as the client-side text editor. We will demonstrate usage of the tool on ExtendJ, an extensible Java compiler built using attribute grammars, as well as on extensions of ExtendJ, for example, supporting control-flow and dataflow analysis.
Slides (ECOOP_Presentation_Property_Probes.pdf) | 713KiB |
Tue 7 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | |||
14:00 25mTalk | Source-Level Dataflow-Based Fixes: Experiences From Using Intraj and Magpiebridge PRIDE Idriss Riouak Department of Computer Science, Lund University, Sweden File Attached | ||
14:25 25mTalk | Property Probes: Source Code Based Exploration of Program Analysis Results PRIDE Anton Risberg Alaküla Department of Computer Science, Lund University, Sweden File Attached |