ECOOP 2022
Mon 6 June - Thu 7 July 2022 Berlin, Germany
Tue 7 Jun 2022 14:25 - 14:50 at Copenhagen 1 - Session 3 Chair(s): Julian Dolby

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.

Tue 7 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:00
Session 3PRIDE at Copenhagen 1
Chair(s): Julian Dolby IBM Research, USA
14:00
25m
Talk
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
25m
Talk
Property Probes: Source Code Based Exploration of Program Analysis Results
PRIDE
Anton Risberg Alaküla Department of Computer Science, Lund University, Sweden
File Attached