一句话:将动态切片能力集成到 IntelliJ IDEA 调试器,提供可视化界面并支持多种切片技术扩展。
软件故障调试耗时,程序切片可帮助开发者只关注与故障相关的代码。然而现有切片工具多从命令行启动并输出日志,开发者需在 IDE 与命令行之间切换并手工关联结果,阻碍了切片调试的实际采用。为此,作者实现 Slicer4D:一个扩展 IntelliJ IDEA 调试器的插件,为开发者提供友好的动态切片界面,将注意力聚焦到与故障相关的代码片段。该工具采用可扩展设计,以便集成多种切片技术。论文给出工具实现与在线评估包,期望通过将动态切片无缝融入熟悉的开发环境来提升开发者生产力。
Debugging software failures often demands significant time and effort. Program slicing is a technique that can help developers fast track the debugging process by allowing them to focus only on the code relevant to the failure. However, despite the effectiveness of slicing, these techniques are not integrated into modern IDEs. Instead, most, if not all, current slicing tools are launched from the command line and produce log files as output. Developers thus have to switch between the IDE and command line tools, manually correlating the log file results with their source code, which hinders the adoption of the slicing-based debugging approaches in practice.To address this challenge, we developed a plugin extending the debugger of IntelliJ IDEA – one of the most popular IDEs – with slicing capabilities. We named our slicing-based debugger extension Slicer4D. Slicer4D offers a user-friendly interface for developers to perform dynamic slicing and further enhances the debugging experience by focusing the developers’ attention only on the parts of the code relevant to the failure. Additionally, Slicer4D is designed in an extensible way, to support integration of a variety of slicing techniques. We hope our tool will pave the way to enhancing developer productivity by seamlessly incorporating dynamic slicing into a familiar development environment.Tool implementation and evaluation package is online [16].