挖掘非结构化软件仓库:工具、技术与应用
1. 引言
在软件开发领域,挖掘和分析软件仓库数据是一个新兴的研究方向,旨在改进软件的演化任务。此前,对结构化仓库(如源代码、执行跟踪和变更日志)的挖掘已取得了显著成果。然而,软件仓库中大量的数据是非结构化的,据估计,这一比例在 80% - 85% 之间。
非结构化数据带来了诸多挑战。以 Eclipse 错误数据库中的错误报告标题为例:
- “NPE caused by no spashscreen handler service available” (#112600)
- “Provide unittests for link creation constraints” (#118800)
- “jaxws unit tests fail in standalone build” (#300951)
这些数据未标注且含义模糊,缺乏与源代码实体的明确链接,也没有与预定义本体中的主题或任务的关联。同时,数据还存在拼写错误、非传统缩写和多用表述等噪声问题。而且,非结构化仓库数据量庞大,手动分析极为困难,甚至在很多情况下是不可能的。因此,对非结构化数据进行自动化或半自动化分析的需求十分迫切。
近年来,软件工程领域的研究人员借鉴自然语言处理和信息检索领域的方法,开发了许多处理非结构化数据的工具和技术。相关的学术研讨会和会议不断涌现,顶级会议也对挖掘非结构化软件仓库的技术表现出越来越浓厚的兴趣。
2. 非结构化软件仓库
非结构化数据通常指没有明确、语义明显且易于计算机处理结构的自然语言文本。与之相对,结构化数据有数据模型和已知形式,如源代码解析树、调用图等
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



