首页> 外文期刊>IEEE Transactions on Software Engineering >An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks
【24h】

An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks

机译:对开发人员在软件维护任务期间如何查找,关联和收集相关信息的探索性研究

获取原文
获取原文并翻译 | 示例

摘要

Much of software developers' time is spent understanding unfamiliar code. To better understand how developers gain this understanding and how software development environments might be involved, a study was performed in which developers were given an unfamiliar program and asked to work on two debugging tasks and three enhancement tasks for 70 minutes. The study found that developers interleaved three activities. They began by searching for relevant code both manually and using search tools; however, they based their searches on limited and misrepresentative cues in the code, environment, and executing program, often leading to failed searches. When developers found relevant code, they followed its incoming and outgoing dependencies, often returning to it and navigating its other dependencies; while doing so, however, Eclipse's navigational tools caused significant overhead. Developers collected code and other information that they believed would be necessary to edit, duplicate, or otherwise refer to later by encoding it in the interactive state of Eclipse's package explorer, file tabs, and scroll bars. However, developers lost track of relevant code as these interfaces were used for other tasks, and developers were forced to find it again. These issues caused developers to spend, on average, 35 percent of their time performing the mechanics of navigation within and between source files. These observations suggest a new model of program understanding grounded in theories of information foraging and suggest ideas for tools that help developers seek, relate, and collect information in a more effective and explicit manner
机译:软件开发人员的大部分时间都花在了理解陌生的代码上。为了更好地理解开发人员如何获得这种理解以及如何涉及软件开发环境,进行了一项研究,其中为开发人员提供了一个陌生的程序,并要求他们在70分钟内完成两个调试任务和三个增强任务。研究发现,开发人员交错了三个活动。他们从手动和使用搜索工具搜索相关代码开始。但是,他们的搜索基于代码,环境和执行程序中有限且具有代表性的线索,通常会导致搜索失败。当开发人员找到相关代码时,他们会遵循其传入和传出的依赖关系,通常会返回到该依赖关系并浏览其其他依赖关系。但是,这样做的同时,Eclipse的导航工具造成了巨大的开销。通过在Eclipse的程序包浏览器,文件选项卡和滚动条的交互状态下进行编码,开发人员收集了他们认为有必要对其进行编辑,复制或以其他方式引用的代码和其他信息。但是,由于这些接口被用于其他任务,因此开发人员无法跟踪相关代码,因此开发人员不得不再次查找它。这些问题导致开发人员平均花费35%的时间执行源文件内部和之间的导航机制。这些观察结果提出了一种基于信息搜寻理论的程序理解新模型,并提出了一些工具的想法,这些工具可以帮助开发人员以更有效和明确的方式寻找,关联和收集信息。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号