Software traceability refers to the ability of creating and maintaining relations between software artifacts based on the functionalities of software systems (a.k.a trace links or traces). The continuous practice and research has demonstrated that software traceability can significantly improve the efficiency and accuracy of software development. Unfortunately, the manual implementation of software traceability during software development is labor-intensive and error-prone. Thus, the automated analysis of software traceability continues to be a research hotspot in the area of software engineering. Currently, the development of Internet makes the ecosystem of software system more open, dynamic, and complex. This situation has raised both the need of software traceability and the challenges of applying software traceability to daily practices. However, the exsiting automated approaches of software traceability is mainly built on information retrieval techniques. These approaches only consider the textual information from software artifacts. Thus, the accuracy of these approaches is low and they cannot support software development in practices. Based on two typical structural features from code, this proposal aims at the research of automated analysis of software traceability and expects to achieve progress in both theory and practice.
软件可追踪性是软件系统所能具有的一种能够将各类软件制品相互关联,并随系统变化对这些关联关系进行维护的特性。长期的研究和实践表明,软件可追踪性能够极大地提升软件开发的正确性与效率。然而,在开发过程中人工实现软件可追踪性是费时费力且易错的。因此,自动化软件可追踪技术一直是软件工程领域内研究和实践的热点。当前,随着互联网技术的不断发展,软件系统处于一种更加开放、动态、复杂且持续演化的生态环境中。这一现状既加深了开发人员对于软件可追踪性的需要,又为软件可追踪性的实现与应用带来了更多挑战。然而,当前主流的基于信息检索技术的自动化软件可追踪技术只考虑了各类软件制品的文本信息,其精度有限,难以支撑日常的软件开发。本项目从代码这一关键的软件制品出发,以两类有代表性的代码结构化特征为基础展开自动化软件可追踪技术的研究,具有较强的理论和应用价值。
软件可追踪性是软件系统所能具有的一种能够将各类软件制品相互关联,并随系统变化对这些关联关系进行维护的特性。研究和实践表明,此特性能够极大地提升开发的正确性与效率, 但人工实现可追踪性是费时费力且易错的。因此,自动化软件可追踪技术一直是软件工程领域内的热点。当前,软件系统处于一种更加开放、动态、复杂且持续演化的生态环境中。这一现状既加深了开发人员对于软件可追踪性的需要,又为其实现与应用带来了更多挑战。但当前主流的信息检索式自动化可追踪技术只考虑了软件制品的文本信息,其精度有限,难以支撑日常开发。本项目以两类有代表性的代码结构化特征为基础,展开软件托管平台上的系统功能自动化追踪、软件工程文本情绪分析、以及代码评审者推荐。.现有的利用用户反馈优化信息检索式的主流自动化可追踪生成技术的研究,需要消耗大量用户反馈,使得此类优化难以在实践中应用。因此,本项目从已有的代码依赖紧密度分析出发,逐步地请用户判断少量候选追踪线索,并将判断结果与量化的代码依赖紧密度结合,以改进未判断的追踪线索的排序。基于一个包含九个真实系统的数据集与三大主流信息检索模型的实验验证,提出的方法能够显著优于五个领域内的热门基线方法。同时,本项目也通过增强数据预处理的方式应对了机器学习式的自动化可追踪恢复技术所面临的样本噪声高和样本数据不平衡问题,相较于基线方法有效提升了精度、鲁棒性和可泛化性。.在线协作开发工具上产生的软件工程文本会体现出开发者的情绪,从而能帮助分析项目的开发状态。然而主流的文本情绪分析工具在分析软工文本时精度较低。本项目通过句法分析跳过或调整主流分析工具的结果,从而有效地提升了分析的精度与可泛化性。.代码评审是被广泛应用的代码质量保证措施。然而现有的评审者推荐研究存在准确性低、被推荐者过于集中等问题。本项目使用超图对评审历史进行建模,从而提升推荐准确率,并使推荐的结果相对分散,缓解被推荐者的评审工作负荷。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
监管的非对称性、盈余管理模式选择与证监会执法效率?
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
基于SSVEP 直接脑控机器人方向和速度研究
面向并发的自动化代码重构技术研究
基于动态信息协同的源代码漏洞自动化分析技术研究
基于软件基因的恶意代码检测与分析技术研究
基于代码语义结构特征自动学习的软件缺陷预测研究