Visualizing Dynamic Data-Flow Analysis of Object-Oriented Programs Based on the Language Server Protocol
Troost, Laura; Neugebauer, Jonathan; Kuchen, Herbert
Abstract
Although studies emphasized the effectiveness of analyzing data-flow coverage as opposed to branch coverage in the area of testing, there is still a lack of appropriate tools. We propose an approach to visualize data flows of programs within code editors based on the Language Server Protocol (LSP). For this purpose, we define extensions of the LSP to increase usability in the given application. Furthermore, we present a prototype with implementations of a language server as well as the two language clients IntelliJ IDEA and Visual Studio Code. Moreover, we outline how the different components can interact effectively based on the LSP to enable the analysis and visualization of data-flows. We evaluate our prototype based on various benchmarks.
Keywords
Data-Flow Analysis; Bytecode Analysis; Java Instrumentation; Software Testing; Integrated Development Environment; Language Server Protocol