
在过去二十年里,随着数字化和信息化的不断发展,许多企业和个体用户对软件系统的依赖程度日益加深。软件技术飞速普及的同时,越来越多由软件缺陷造成的软件事故也随之出现。在开始使用某款应用软件时,你是否担心它存在安全隐患?在你定制的软件完成交付时,你是否害怕开发商隐瞒相关风险信息?你是否也曾想过将手头的软件好好检查一番,然而高昂的人力成本和金钱成本让你望而却步?现在,智能算法研究中心将提供免费的软件体检服务,为你排忧解难,欢迎大家向我们投递受检软件!

软件体检是智能算法研究中心的研究人员提出的基于智能化软件工程方法的软件缺陷与漏洞自动检测技术,能够有效预防软件使用的各种潜在风险,是软件定保的重要依据。软件体检针对易用性、维护性、可靠性、安全性质量标准,通过机器学习优化的逆向工程、面向单元测试路径覆盖的自动插桩工具、动态切换虚拟机中类加载器的跨进程自动化测试用例框架、基于状态转换模型的智能化UI测试、基于安全检测特征提取的静态分析等黑盒分析技术为软件进行缺陷检测。

图1 软件体检流水线
软件体检是智能算法研究中心十几年来在人工智能与软件工程领域取得的研究成果之一。针对面向黑盒分析的软件体检流程中的路径覆盖自动测试用例生成问题,研究人员先后提出了基于自适应适应度函数(Self-adaptive Fitness Function)的差分进化算法[1]、基于差分进化和关系矩阵的iFogSim工具包测试用例自动生成方法[2]以及一种基于流形搜索的测试用例自动生成算法(Manifold-Inspired Search-based Algorithm, MISA)[3]。
基于以上技术,我们的软件体检可以实现无需源码的软件逆向、插桩、自动生成测试用例、黑盒分析等全流程,为系统和软件工程的产品质量评价以及缺陷问题回溯提供事实依据。区别于安全检测软件,我们的软件体检无需软件源码就可以进行代码行级别的质量缺陷检测,质量检测范围从安全性扩展到了易用性、维护性、可靠性、安全性。区别于软件测试,我们的软件体检面向所有种类的软件,不局限于特定用例,因此通用性更强,流程自动化程度更高,成本更低。
表1 软件体检与安全检测软件对比

表2 软件体检与软件测试对比

智能算法研究中心目前已经拥有了较为成熟的软件体检技术与设备,并在此基础上建立了一个软件体检中心。目前,研究人员已经通过该软件体检中心成功分析了多个知名软件,例如肯德基(KFC)、Gallery、淘宝、广州地铁、12306、个人所得税等。体检结果显示,我们的软件体检能够成功预测并判定出试点应用可能存在的软件缺陷,为企业和个人用户提出规避软件风险和隐患的有效建议。

图2 软件体检示例1

图3 软件体检示例2
定期进行软件体检不仅可以对软件质量问题提出预警,阻止软件事故发生,还可以为用户提供可靠性凭证,提高使用软件的信心。智能算法研究中心衷心欢迎各位研究人员、企业用户及个人用户向我们提供受检软件。您只需要通过邮件向我们提供受检软件的简介、本次体检的目的以及您的联系方式,我们将会对其进行详尽的软件体检,并向您反馈相应的软件体检报告。此外,由于我们目前仅对JAVA及Android应用提供软件体检服务,故请您将受检软件安装包(APK)或SDK包作为邮件附件进行发送,或者在邮件中提供应用包名及版本号,系统将通过正规渠道获取相应软件。
联系邮箱:secaojie@mail.scut.edu.cn
注:由于资源有限,智能算法研究中心每月最多可为3个软件提供软件体检公益服务,若待检软件超过3个,那么超出部分的体检服务将顺延至下月,请大家耐心等待哦!

参考文献
[1] H. Huang, F. Liu, and Z. Hao, “Differential evolution based on self-adaptive fitness function for automated test case generation,” IEEE Computational Intelligence Magazine, vol. 12, no. 2, pp. 46-55, 2017.
[2] H. Huang, F. Liu, Z. Yang, and Z. Hao, “Automated test case generation based on differential evolution with relationship matrix for IFOGSIM toolkit,” IEEE Transactions on Industrial Informatics, vol. 14, no. 11, pp. 5005-5016, 2018.
[3] F. Liu, H. Huang, J. Su, S. D. Semujju, Z. Yang and Z. Hao, “Manifold-inspired search-based algorithm for automated test case generation,” IEEE Transactions on Emerging Topics in Computing, vol. 99, pp. 1-15, 2021.
[4]基于路径覆盖软件测试的测试用例自动生成方法(201710766422.3), 授权公告号:CN 107590073 B, 发明人:黄翰、刘方青、颜学明
[5]基于路径覆盖测试用例自动生成的单元测试方法(201810501975.0), 授权公告号:CN 108710575 B, 发明人:黄翰、连木明、刘方青、杨忠明、郝志峰
[6] 基于测试用例自动生成算法的单元测试自动执行方法(201910819271.2), 发明人:黄翰、连木明、朱浩锋、
浩聪、谌小虎、刘方青、杨忠明、汪疆平
总编:黄翰
责任编辑:袁中锦
文字:曹捷、雷丰强
图片:曹捷、雷丰强
校稿:何莉怡
时间:2022年3月5日