Skip to main content
QUICK REVIEW

[论文解读] Recommending Relevant Sections from a Webpage about Programming Errors and Exceptions

Mohammad Masudur Rahman, Chanchal K. Roy|arXiv (Cornell University)|Jan 1, 2015
Software Engineering Research参考文献 20被引用 4
一句话总结

本文提出了一种上下文感知的、与IDE集成的技术,通过分析异常详情(例如堆栈跟踪和上下文代码),从编程相关网页中推荐相关的代码片段。该技术在识别有用内容方面实现了高精度(81.96%)、高召回率(76.74%)和F1值(76.30%),通过引入一种新颖的代码密度度量方法和内容相关性评分,优于现有方法。

ABSTRACT

Programming errors or exceptions are inherent in software development and maintenance, and given today's Internet era, software developers often look at web for finding working solutions. They make use of a search engine for retrieving relevant pages, and then look for the appropriate solutions by manually going through the pages one by one. However, both the manual checking of a page's content against a given exception (and its context) and then working an appropriate solution out are non-trivial tasks. They are even more complex and time-consuming with the bulk of irrelevant (i.e., off-topic) and noisy (e.g., advertisements) content in the web page. In this paper, we propose an IDE-based and context-aware page content recommendation technique that locates and recommends relevant sections from a given web page by exploiting the technical details, in particular, the context of an encountered exception in the IDE. An evaluation with 250 web pages related to 80 programming exceptions, comparison with the only available closely related technique, and a case study involving comparison with VSM and LSA techniques show that the proposed technique is highly promising in terms of precision, recall and F1-measure.

研究动机与目标

  • 解决开发人员在网页中手动搜索编程异常解决方案时面临的信息过载问题。
  • 减少在搜索后分析阶段扫描无关或嘈杂内容所耗费的时间和精力。
  • 基于IDE中实时获取的异常上下文,提供针对网页中特定代码段的精准推荐。
  • 克服现有内容提取技术的局限性,这些技术侧重于去噪或特定领域数据,但未关注与编程错误的相关性。
  • 提出一种新颖的内容推荐方法,结合技术异常上下文与网页内容分析,以提升推荐的精确率和召回率。

提出的方法

  • 将Google搜索API集成到Eclipse IDE中,根据与异常相关的查询检索网页。
  • 分析网页内容(通过DOM树解析)和异常上下文(堆栈跟踪和周围代码),以识别相关部分。
  • 引入一种名为“代码密度”的新度量方法,以更有效地识别网页中的编程内容,补充现有的密度度量方法。
  • 应用一种内容相关性评分模型,结合代码密度、结构特征(如<pre>标签)以及异常上下文中的语义线索。
  • 使用加权评分函数,根据内容段落包含异常相关解决方案的可能性进行排序。
  • 将解决方案实现为名为ContentSuggest的Eclipse插件,直接在IDE中可视化并高亮推荐内容段落。

实验结果

研究问题

  • RQ1一种利用IDE异常详情的上下文感知技术,能否提升在编程相关网页中推荐相关内容段落的精确率和召回率?
  • RQ2所提出的代码密度度量方法与现有密度度量方法相比,在从网页中提取相关编程内容方面表现如何?
  • RQ3与仅基于内容的方法相比,集成异常上下文(堆栈跟踪和代码)在多大程度上提升了内容段落推荐的准确性?
  • RQ4与最先进的追踪技术(如VSM和LSA)相比,该技术在识别Stack Overflow上相关答案方面的表现如何?
  • RQ5该方法能否通过减少开发人员在网页中手动扫描无关或嘈杂内容的频率,降低其寻找解决方案的负担?

主要发现

  • 在250个网页和80个编程异常的测试中,该技术平均实现了81.96%的精确率、76.74%的召回率和76.30%的F1值。
  • 在所有性能指标上,该技术显著优于唯一相近的现有方法(Sun et al. [22]),显示出在内容段落推荐方面更高的准确性。
  • 在35个Stack Overflow网页的案例研究中,该技术的相关性评分与得票最高的答案高度一致,表明其与社区公认的解决方案高度吻合。
  • 引入代码密度作为度量指标,显著提升了对与编程相关的内容的识别能力,相比通用密度度量方法表现更优。
  • 一项包含五名参与者的有限用户研究(其中三人具有专业开发经验)表明,该技术具有强烈的实用感知价值,所有参与者均认为该技术在真实调试场景中具有帮助潜力。
  • 该技术能够成功识别出网页中不包含与特定异常相关的内容,从而减少开发人员的虚假希望和搜索疲劳。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。