摘要

软件可跟踪性作为软件的一项重要能力,其目的是通过在不同的软件制品之间建立跟踪链,捕获、链接、追踪每一个重要的软件制品.近年来,将信息检索、自然语言处理、机器学习以及深度学习等技术用于软件跟踪链的创建、维护和验证,大大减少了开发人员手动处理跟踪链的成本,因此受到学术界和工业界的广泛关注.在本文中,我们着重从软件跟踪链的自动化创建、维护和验证等方面着手,对近十年来研究进展进行梳理和总结.主要内容包括:(1)统计并分析软件跟踪链创建、维护和验证的自动化方法和技术;(2)对软件跟踪链的应用研究进行总结;(3)汇总了当前软件跟踪链相关技术评估研究和工具支持;(4)从技术难点中归纳得出目前跟踪链相关自动化技术所存在的关键问题,围绕跟踪软件的复杂性、跟踪链的粒度问题、精度问题、类型受限问题、验证效率问题、应用规模和时间问题以及工具评估不全面问题这七个部分,阐述了上述问题的可能解决思路和未来发展趋势.