摘要:软件不变量是软件的重要属性,在软件验证、软件调试和软件测试等领域有重要作用.自20世纪末以来,基于动态分析的不变量综合技术成为相关领域的一个研究热点,并且取得了一定的进展.收集了90篇相关论文对该领域进行系统总结.基于动态分析的不变量综合技术是该领域的核心问题,提出了“学习者-预言”框架统一描述相关方法,并且在此框架内根据学习者的归纳方法将综合技术大致分为4类,分别是基于模板穷举的方法、基于数值计算的方法、基于统计学习的方法以及基于符号执行的方法.其次,讨论了基于动态分析综合的不变量在软件验证和软件工程等领域的重要应用.随后,总结不变量生成技术中常用的实验对象程序和开源的不变量综合工具.最后,总结该领域并展望未来的研究方向.
Abstract:Program invariants are important properties of software, which play important roles in many software research fields, such as verification, debugging, and testing. Since the end of 20th century, research on dynamic analysis based program invariant synthesis has become a hot topic in related research areas and made remarkable progress. This paper collects 90 related papers to survey researches within this topic. To dynamically synthesize invariants is the key problem of this field. An abstract framework, “learner-oracle”, is proposed to model and subsume synthesis approaches. In general, the synthesis approaches can be classified into four types, i.e. pattern enumeration based approaches, numerical calculation based approaches, statistical learning based approaches, and symbolic execution based approaches. Furthermore, important applications are discussed of dynamic invariants in software engineering and software verification. Then, important subject programs and synthesis tools are briefly summarized. Finally, the remaining opportunities are presented and a conclusion is reached.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6014
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
基于动态分析的软件不变量综合技术
本站小编 Free考研考试/2022-01-02
相关话题/软件 综合 技术 测试 程序
静态程序分析并行化研究进展
摘要:静态程序分析发展至今,已在多个方面取得了长足的进步,应用于软件开发的众多方面.但对现代大规模复杂软件系统(如千万行代码规模的Linux操作系统、分布式大数据处理系统Hadoop等)进行高精度的静态分析,因其极大规模数据量的计算,仍有一定难度.精度、效率和可扩展性相互制约,是静态分析技术在工业界 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02系统软件构造与验证技术专题前言
摘要:Abstract:PDF全文下载地址:http://jos.org.cn/jos/article/pdf/5958 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02深度神经网络测试研究综述
摘要:随着深度神经网络技术的快速发展、大数据的涌现和计算能力的显著提升,深度神经网络被越来越多地应用到各个安全攸关领域,例如自动驾驶、人脸识别、飞机碰撞检测等.传统的软件系统通常由开发人员手工编写代码实现其内部的决策逻辑,并依据相应的测试覆盖准则设计测试用例来测试系统代码.与传统的软件系统不同,深度 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02Web应用前后端融合的遗传算法并行化测试用例生成
摘要:Web应用测试用例生成并行化是提升Web应用测试生成效率的一个有效手段.Web应用的前后端分离、事件驱动等特性,导致传统的并行化技术难以直接应用于Web应用的测试用例自动生成中.因此,如何针对Web应用进行并行化测试用例生成,是一项具有挑战性的工作.将种群并行化计算引入到基于遗传算法的Web应 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于在线性能测试的概念漂移检测方法
摘要:概念漂移是动态流数据挖掘中一类常见的问题,但混杂噪声或训练样本规模过小而产生的伪概念漂移会引起与真实概念漂移相似的结果,即模型在线测试性能的不稳定波动,导致二者容易混淆,发生概念漂移的误报.针对流数据中真伪概念漂移的混淆问题,提出一种基于在线性能测试的概念漂移检测方法(conceptdrift ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向众包数据清洗的主动学习技术
摘要:传统方法多数采用机器学习算法对数据进行清洗.这些方法虽然能够解决部分问题,但存在计算难度大、缺乏充足的知识等局限性.近年来,随着众包平台的兴起,越来越多的研究将众包引入数据清洗过程,通过众包来提供机器学习所需要的知识.由于众包的有偿性,研究如何将机器学习算法与众包有效且低成本结合在一起是必要的 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02中文软件问答社区主题分析研究
摘要:软件问答社区是软件开发者通过问答方式进行技术交流的网络平台.近年来,软件问答社区积累了大量用户讨论的技术问答内容.一些研究者对StackOverflow等英文问答社区进行主题分析研究,但是缺少对于中文软件问答社区的分析.通过对中文软件回答社区开展主题分析研究,不仅可以指导开发者更好地了解技术动 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02人工智能赋能的数据管理技术研究
摘要:大数据时代,数据规模庞大、数据管理应用场景复杂,传统数据库和数据管理技术面临很大的挑战.人工智能技术因其强大的学习、推理、规划能力,为数据库系统提供了新的发展机遇.人工智能赋能的数据库系统通过对数据分布、查询负载、性能表现等特征进行建模和学习,自动地进行查询负载预测、数据库配置参数调优、数据分 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于中间层的可扩展学习索引技术
摘要:在大数据与云计算时代,数据访问速度是衡量大规模存储系统性能的一个重要指标.因此,如何设计一种轻量、高效的数据索引结构,从而满足系统高吞吐率、低内存占用的需求,是当前数据库领域的研究热点之一.Kraska等人提出使用机器学习模型代替传统的B树索引,并在真实数据集上取得了不错的效果,但其提出的模型 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向数据特征的内存跳表优化技术
摘要:跳表作为数据库中被广泛采用的索引技术,优点在于可以达到类似折半查找的复杂度O(log(n)).但是标准跳表算法中,结点的层数是通过随机算法生成的,这就导致跳表的性能是不稳定的.在极端情况下,查找复杂度会退化到O(n).这是因为经典跳表结构没有结合数据的特征.一个稳定的跳表结构应该充分考虑数据的 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02