陶传奇
- 作品数:35 被引量:39H指数:4
- 供职机构:计算机软件新技术国家重点实验室更多>>
- 发文基金:国家自然科学基金国家重点实验室开放基金国家高技术研究发展计划更多>>
- 相关领域:自动化与计算机技术航空宇航科学技术更多>>
- 软件变更影响分析及故障检测和定位
- 李必信吉顺慧张鹏程王璐璐廖力周颖孙小兵文万志陶传奇邱栋
- 如今,计算机软件由于其自身的缺陷导致事故频发,给国家、企业和个人带来重大的生命、财产损失,有时甚至威胁国家安全。“软件故障检测和定位”技术是发现软件缺陷、提高软件安全、保障软件质量的重要手段,是国内外学术界和企业界关注的...
- 关键词:
- 关键词:计算机软件软件维护
- 一种基于层次切片的软件错误定位方法被引量:7
- 2010年
- 提出了一种基于层次切片模型适合面向对象语言的错误定位方法.首先分别在包层、类层、方法层删去通过测试的包、类和方法,缩小软件错误存在的范围;其次,在语句层将删减后的程序按抽象语法树划分成若干模块,统计模块内变量使用的数目;通过动态分析,选取一组测试用例计算其执行历史;根据模块内使用变量数目的规模,采用逐步求精算法,计算产生错误测试用例的程序执行历史与静态分析过程中所产生模块的交集及交集的后向切片,直至实现错误定位.实验数据表明:该方法能够查出前期定位程序中绝大部分错误的位置,尤其适用在方法调用比较少的程序中.在方法调用比较频繁的程序中,由于在调用语句处迭代调用逐步求精算法,效率会降低.
- 许高阳李必信孙小兵陶传奇
- 关键词:抽象语法树
- 一种云计算环境下的任务调度方法
- 本发明公开了一种云计算环境下的任务调度方法,是基于任务优先级和任务等待时间的动态任务调度方法。本发明方法可以在优先调度高优先级任务的基础上,减少低优先级任务的等待时间,从而提高任务调度算法在云计算环境中的运行效率,提高云...
- 李必信李伟陶传奇刘力喻析蒙
- 文献传递
- 一种基于排斥区域的自适应随机测试的方法
- 本发明公开了一种基于排斥区域的自适应随机测试的方法,主要用于降低随机测试中测试用例生成的盲目性,同时消弱边界效应带来的问题。本发明首先确定程序的输入域;然后根据点到空间中心的距离设置排斥区域的半径大小;再根据输入域随机生...
- 李必信兰阳阳王璐璐陶传奇刘力陈艺
- 文献传递
- 一种基于SoaML的云应用正确性验证方法
- 本发明公开了一种基于SoaML的云应用正确性验证方法,主要用于处理云应用的建模与验证问题,本发明采用SoaML对云应用进行建模,并将所建SoaML模型转换为简单进程元语言解释器SPIN支持的建模语言PROMELA和线性时...
- 李必信耿国清王璐璐陶传奇兰阳阳司静文
- 文献传递
- 一种静态分析与知识图谱结合的Java冗余代码检测方法被引量:2
- 2023年
- 冗余代码普遍存在于商业和开源软件中,它的存在可能会增加内存占用,影响代码可维护性,增加维护成本。快速类型分析算法是当前Java冗余代码检测中常用的静态分析方法,该算法在虚方法分析方面还存在一些不足。XTA是一种调用图构造算法,在处理虚方法的调用方面具有较高的精度和效率。文中提出了一种基于XTA调用图构建算法的方法来检测Java代码中的冗余代码,在一个名为“RCD”(Redundant Code Detection)的工具原型中实现了这种方法,并通过构建知识图谱辅助人工审查,以提高人工审查的效率以及冗余代码检测的可信度。通过在4个开源Java应用程序上的实验对RCD与其他3个冗余代码检测工具进行了比较。实验结果表明,RCD在检测冗余代码的准确性方面相比其他工具提高了1%~30%,同时在检测冗余虚方法的完整性方面提升了4%左右。
- 刘昕炜陶传奇
- 关键词:知识图谱
- 一种基于层次切片的回归测试用例选择方法
- 本发明公布了一种基于层次切片的回归测试用例选择方法,利用切片技术在程序分解中的作用以及层次切片技术在面向对象程序中的优势,并且结合回归测试用例选择的特点,将层次切片技术应用其中。从版本修改信息中抽取层次切片准则。在包层次...
- 陶传奇李必信周颖孙小兵文万志
- 一种基于日志的云计算服务可信度评估方法
- 本发明公开了一种基于日志的云计算服务可信度评估方法,综合考虑用户评价与历史调用日志对云计算环境下服务可信度的影响,对一组相似服务进行更加客观公正的评估。本发明涉及到的关键操作包括:(1)分析历史调用日志中与可信相关的特征...
- 李必信李超廖力孔祥龙陶传奇耿国清
- 文献传递
- 编程现场上下文深度感知的代码行推荐被引量:1
- 2021年
- 在软件开发的编程现场,有大量与当前开发任务相关的信息,比如代码上下文信息、用户开发意图等.如果能够根据已有的编程现场上下文给开发人员推荐当前代码行,不仅能够帮助开发人员更好地完成开发任务,还能提高软件开发的效率.而已有的一些方法通常是进行代码修复或者补全,又或者只是基于关键词匹配的搜索方法,很难达到推荐完整代码行的要求.针对上述问题,一种可行的解决方案是基于已有的海量源码数据,利用深度学习析取代码行的相关上下文因子,挖掘隐含的上下文信息,为精准推荐提供基础.因此,提出了一种基于深度学习的编程现场上下文深度感知的代码行推荐方法,能够在已有的大规模代码数据集中学习上下文之间潜在的关联关系,利用编程现场已有的源码数据和任务数据得到当前可能的代码行,并推荐Top-N给编程人员.代码行深度感知使用RNN Encoder-Decoder,该框架能够将编程现场已有的若干行上文代码行进行编码,得到一个包含已有代码行上下文信息的向量,然后根据该向量进行解码,得到预测的Top-N代码行输出.利用在开源平台上收集的大规模代码行数据集,对方法进行实验并测试,结果显示,该方法能够根据已有的上下文推荐相关的代码行给开发人员,Top-10的推荐准确率有60%左右,并且MRR值在0.3左右,表示用户满意的推荐项排在N个推荐结果中比较靠前的位置.
- 陶传奇陶传奇黄志球黄志球周宇
- 基于模型的构件软件修改影响分析被引量:11
- 2013年
- 基于构件的软件构建方法目前被广泛使用在软件开发中,用于减少软件开发的工程成本和加快软件开发进度.面向构件的系统主要由第三方提供的可重用构件或者内建的可重用构件组成,因此,系统的质量好坏和维护的难易程度依赖于构件的品质.一个软件修改会给其他构件甚至整个系统带来影响,而修改影响分析是控制和消除这类影响的有效手段.然而,现有的研究很少涉及构件软件的修改影响分析,尤其缺少对系统层面的修改影响分析研究.提出了一种基于模型的系统化修改影响分析方法,该方法的基本思路是:首先提出构件及系统层面的修改影响分析模型,然后根据分析模型分别从构件和系统两个层面对构件软件修改前后的版本进行修改识别,并且利用"防火墙"方法进行影响分析.理论分析和实验结果表明,该方法是可行的,也是有效的.
- 陶传奇李必信Jerry GAO孙小兵
- 关键词:软件维护