Combining Static Analysis Techniques for Program Comprehension Using Slicito
By: Robert Husák, Jan Kofroň, Filip Zavoral
Potential Business Impact:
Helps programmers understand complex code faster.
While program comprehension tools often use static program analysis techniques to obtain useful information, they usually work only with sufficiently scalable techniques with limited precision. A possible improvement of this approach is to let the developer interactively reduce the scope of the code being analyzed and then apply a more precise analysis technique to the reduced scope. This paper presents a new version of the tool SLICITO that allows developers to perform this kind of exploration on C# code in Visual Studio. A common usage of SLICITO is to use interprocedural data-flow analysis to identify the parts of the code most relevant for the given task and then apply symbolic execution to reason about the precise behavior of these parts. Inspired by Moldable Development, SLICITO provides a set of program analysis and visualization building blocks that can be used to create specialized program comprehension tools directly in Visual Studio. We demonstrate the full scope of features on a real industrial example both in the text and in the following video: https://www.slicito.com/icpc2025video.mp4
Similar Papers
SLICEMATE: Accurate and Scalable Static Program Slicing via LLM-Powered Agents
Software Engineering
Finds important code parts faster and better.
SLICET5: Static Program Slicing using Language Models with Copy Mechanism and Constrained Decoding
Software Engineering
Helps fix broken computer code, even if incomplete.
Checkification: A Practical Approach for Testing Static Analysis Truths
Software Engineering
Finds mistakes in computer code checkers.