[论文解读] Context Capture in Software Development
本文提出了一种四层软件开发人员上下文模型——个人、项目、组织和领域——重点通过挖掘项目管理工具中的数据来捕捉项目级上下文。通过在任务-修订记录之间进行关系抽取,作者展示了如何通过Eclipse插件将上下文信息捕获并暴露在IDE中,从而借助丰富、与任务相关的知识检索提升开发人员的上下文意识与支持能力。
The context of a software developer is something hard to define and capture, as it represents a complex network of elements across different dimensions that are not limited to the work developed on an IDE. We propose the definition of a software developer context model that takes into account all the dimensions that characterize the work environment of the developer. We are especially focused on what the software developer context encompasses at the project level and how it can be captured. The experimental work done so far show that useful context information can be extracted from project management tools. The extraction, analysis and availability of this context information can be used to enrich the work environment of the developer with additional knowledge to support her/his work.
研究动机与目标
- 定义一个涵盖个人、项目、组织和领域维度的全面软件开发人员上下文模型。
- 解决在IDE之外捕捉和利用上下文信息的挑战,特别是来自项目管理工具的信息。
- 探索如何从项目工件中提取上下文数据,并用于支持开发人员的日常任务。
- 构建一个Eclipse的上下文感知插件原型,基于捕获的项目级上下文暴露相关信息。
- 为适用于各类软件开发环境的完整上下文模型奠定基础。
提出的方法
- 作者定义了一个包含四个维度的分层上下文模型:个人、项目、组织和领域,每个维度均从捕获、建模、表示和应用四个视角进行分析。
- 通过在项目管理工具的数据上应用简单的关系抽取算法,分析任务与代码修订之间的关系,实现项目级上下文的捕获。
- 使用RDFS对提取的上下文进行建模,并集成到Eclipse插件中,向开发人员暴露相关信息。
- 通过上下文轮询(快照请求)和上下文监听(事件订阅)两种机制实现上下文捕获。
- 该方法利用现有系统(如缺陷跟踪器和版本控制系统),挖掘开发工件之间的隐式与显式关系。
- 未来工作包括通过更好的可视化、搜索、过滤功能增强原型,并使用本体实现更丰富的建模。
实验结果
研究问题
- RQ1如何系统性地建模软件开发人员在IDE之外的多维上下文?
- RQ2哪些类型的任务与代码修订等开发工件之间的关系可以被自动抽取,以丰富上下文捕获?
- RQ3在多大程度上可以利用项目管理工具的数据推断并表示对开发人员有意义的上下文?
- RQ4如何在软件开发环境中有效表示和应用捕获的上下文以支持开发人员?
- RQ5将项目级上下文集成到IDE中对开发人员生产力的实际影响是什么?
主要发现
- 关系抽取算法成功识别出项目数据中任务与代码修订之间的有意义链接。
- 实验原型表明,上下文感知信息可以在Eclipse IDE中呈现,以支持开发人员。
- 项目管理工具包含足够结构化和半结构化的数据,可有效支持软件开发的上下文捕获。
- 将上下文数据集成到IDE中,提升了对相关工件(如相关代码变更和文档)的上下文意识。
- 该方法在通过丰富、与任务相关的上下文检索增强开发人员支持方面展现出潜力。
- 初步结果表明,基于项目级数据的上下文建模可通过现有开发工具实现自动化与可扩展化。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。