In our research, we investigate the challenges that software engineers face during program comprehension, particularly when debugging unfamiliar codebases. We propose a novel tool, CodeCompass, to address these issues. Our study highlights a significant gap in current tools and methodologies, especially the difficulty developers encounter in effectively utilizing documentation alongside code exploration. CodeCompass tackles these challenges by seamlessly integrating documentation within the IDE, offering context-aware suggestions and visualizations that streamline the debugging process. Our formative study demonstrates how effectively the tool reduces the time developers spend navigating documentation, thereby enhancing code comprehension and task completion rates. Future work will focus on automating the process of annotating codebases, creating sandbox tasks, and providing dynamic support. These innovations could potentially transform software development practices by improving the accessibility and efficiency of program comprehension tools.
翻译:在本研究中,我们探究了软件工程师在程序理解过程中面临的挑战,尤其是在调试不熟悉的代码库时。我们提出了一种名为CodeCompass的新工具来解决这些问题。我们的研究揭示了当前工具和方法中的显著不足,特别是开发人员在有效利用文档进行代码探索时遇到的困难。CodeCompass通过在集成开发环境中无缝集成文档,提供上下文相关的建议和可视化功能来简化调试过程,从而应对这些挑战。我们的形成性研究展示了该工具在减少开发人员浏览文档时间方面的有效性,从而提高了代码理解和任务完成率。未来的工作将专注于自动化代码库注释过程、创建沙盒任务以及提供动态支持。这些创新可能通过提高程序理解工具的可及性和效率,从而改变软件开发实践。