共查询到19条相似文献,搜索用时 140 毫秒
1.
基于软件历史仓库和抽象语法树的相似缺陷识别方法 总被引:4,自引:0,他引:4
软件开发过程中,软件开发人员常常通过搜索软件历史仓库(historical software repository, HSR),再经复制/粘贴以实现软件复用。HSR中会保存被复用的代码的缺陷及修复信息,辅助处理相似缺陷。基于此,提出一种基于HSR挖掘的相似缺陷识别方法。首先,基于变更日志的分析,从HSR中提取出已知缺陷的模块,建立bug模块库。然后,采用基于抽象语法树(abstract syntax tree, AST)的相似代码检测方法,识别待测试软件与bug模块库中相似的代码,并借助HSR中保存的相应缺陷及修复信息,完成待测试软件中可能包含潜在缺陷的模块的识别。同时,为提高相似代码的识别精度,优化基于AST的代码特征度量。在18个C程序、164对克隆代码上进行实验,结果表明所提方法能够识别出全部相似代码且性能优于已有工具。在人工构建的bug模块库上验证了代码相似性对相似缺陷识别的作用。最后,在8个真实的大型C项目上进行验证,平均缺陷召回率达到94%,表明挖掘HSR可以有效地为跨项目传播的相似代码提供缺陷理解支持。 相似文献
2.
软件开发中,因代码复用导致复用缺陷的现象时常发生,针对此提出一种基于代码复用检测的缺陷发现方法。首先通过代码比对或补丁还原的方式定位缺陷相关的代码,将缺陷代码和待测代码以函数为单位进行划分,提取并量化各函数的度量特征、结构特征和文本特征,采用递进式相似函数逐轮筛选的方式,确定可能存在复用缺陷的函数,并基于模型检测和数据流分析技术对疑似缺陷进一步判断。实验选取典型开源项目进行测试,发现了多处潜在的复用缺陷,结果证明了所提方法的有效性,同时发现每个缺陷平均要对2~5个可能的复用点进行判断。 相似文献
3.
如何保证软件可信性是目前软件工程研究领域的热点话题之一. 从逆向思维的角度围绕软件失信展开三方面的研究.基于软件可信性的概念,分析软件失信及失效、故障、缺陷、错误之间的关系, 进而提出“失信因子"这一新的概念;通过分析失信因子与软件风险因素内涵的差异,指出了失信因子概念提出的基础性和重要性, 并给出软件失信链,延伸了传统的失效链;通过构建一种基于WBS-RBS的识别框架探讨了对失信因子收集、识别和分类的方法.结合示例,验证了所提概念的合理性.特别强调,在软件开发过程中,软件可信性的保障应着眼于控制、 改善失信因子这一根源性的因素,而非缺陷和故障等表征现象. 相似文献
4.
一种实时多任务软件可靠性验证方法 总被引:2,自引:0,他引:2
针对软件可靠性增长模型难以满足实时多任务软件可靠性验证的可信性要求,提出了一种基于任务模块软件统计测试的实时多任务软件可靠性验证方法.该方法利用实时多任务软件的结构和运行特点,建立了一个可靠性模型并给出了模型参数的求解方法;通过该模型把待验证的软件系统可靠性指标分配到各个任务模块,然后用统计测试的方法对任务模块的可靠性指标进行验证,以达到对整个软件系统可靠性指标验证的目的.实验证明该方法的有效性和灵活性. 相似文献
5.
6.
7.
8.
9.
10.
11.
二级倒立摆在Simulink环境下的实时控制 总被引:4,自引:0,他引:4
利用Matlab环境下Simulink工具箱中现有的模块及其函数,开发出能够与被控硬件系统直接通讯的软件模块以及对被控系统进行实时操作和控制的命令模块,实现了直接在Simulink环境下对二级倒立摆系统的实时控制,扩充了已有的Simulink工具箱的功能。研究中所采用的技术与方法可以扩展到对其他硬件系统的实时控制中。 相似文献
12.
软件在测试阶段和使用阶段操作环境的差别导致软件测试可靠性和运行可靠性不完全相同.软件在发布后的使用和维护阶段,软件可靠性的增长不仅体现在软件固有故障的排除,而且用户对软件的熟悉程度也会影响软件的可靠性.本文研究了软件固有故障检测过程、固有故障纠正过程和外在失效过程的特征,建立了考虑用户行为和排错延迟下的多版本软件可靠性增长模型.通过一组来自于开源软件用户缺陷跟踪系统中的真实数据进行数值分析,试验结果表明提出的模型具有较好的效果. 相似文献
13.
14.
针对低信噪比下异步长码直接序列码分多址(direct sequence-code division multiple access, DS-CDMA)信号伪码序列难以估计的问题,提出一种基于嵌套迭代最小二乘投影和库搜索算法相结合的盲解扩方法。该方法先将接收到的异步长码DS-CDMA信号建模成含有缺失数据的短码DS-CDMA信号,并使用重叠窗对信号进行分段构造观测数据矩阵。然后,使用最大似然理论对其进行数学建模,并用嵌套迭代最小二乘投影算法实现各用户伪码序列片段的粗提取。最后,将提取出来的伪码序列在有限长的生成多项式库中进行匹配搜索,从而得到该序列的生成多项式。仿真实验及理论分析验证了该方法对异步长码DS-CDMA信号伪码序列估计的有效性。 相似文献
15.
针对空时分组码(space-time block code, STBC)识别中多种编码类型难区分的问题, 提出了一种基于卷积神经网络的STBC盲识别算法。该算法首先将接收信号采用自相关函数的频域预处理, 输入到卷积神经网络中对信号特征进行提取, 全连接层对特征进行映射, 实现对6种STBC类型的识别。仿真实验结果表明, 在无信道和噪声等先验信息的条件下, 所提算法能够有效区分3种相似度高的STBC3码, 且将STBC可识别的编码类型由目前的4种扩充到6种, 识别准确率能达到96%。该方法的复杂度较低, 不需要利用大量样本数据, 实时性高, 具有较好的工程应用价值。 相似文献
16.
针对线性分组码参数盲识别容错性能较差,以及在低误比特率且同步情况下利用分析矩阵秩亏法识别存在码长不足的问题,提出了一种基于二元高斯列消元法的分组码参数盲识别方法。首先将截获到的数据横向放入到分析矩阵,然后对分析矩阵的列进行二元域高斯消元,并计算每列所含“1”的比率值,再对所有比率值求均值和方差,在低误比特率且同步的情况下利用均值差值可确定码长,而在误比特率较高且不同步的情况下,则需利用方差差值来确定码长。理论分析和仿真表明:该方法与以往的矩阵模型识别方法相比,容错性能较好、计算量较低,且适用于各种码率的线性分组码的码长和同步识别。 相似文献
17.
一种基于会话聚类算法的Web使用挖掘方法 总被引:1,自引:0,他引:1
Web使用挖掘作为数据挖掘的一个重要任务,有助于了解用户群体的特征,从而为其提供个性化服务.提出了一种基于用户会话聚类的Wei使用挖掘算法.首先,对Web日志预处理采用基于时间窗的用户会话识别方法,提出了一种基于三元组的用户会话表示方法,并在此基础上给出了基于网页语义相似性的会话处理方法,该方法能够在保持用户兴趣不变的情况下有效降低会话维度;其次,提出了一种基于时间及频次的用户会话相似性度量方法;最后,设计了一种两阶段PS-KM会话聚类算法,先用PSO方法进行全局搜索再转入基于K-means方法的局部聚类过程.仿真表明了算法的有效性. 相似文献
18.
针对航天器姿态控制系统的设计需要,利用开源软件OpenFOAM搭建用于充液航天器刚-液耦合计算的仿真软件。在动边界问题中,推导出非惯性系下的N-S方程,避免了传统CFD软件中动网格法所带来的大量网格转换计算,提高软件计算效率。采用PIMPLE (pressure implicit with splitting of operators,semi-implicit method for pressure linked equations)算法搭建了晃动力求解模块,采用变步长龙格库塔法搭建了姿态运动模块,实现航天器的基于CFD方法的刚-液耦合仿真。利用该软件对相关算例进行了数值仿真,其结果与基于等效力学模型的刚-液耦合程序以及商业软件的计算结果吻合良好。 相似文献
19.
提出一种新的基于低密度校验(low density parity check, LDPC)码的自适应数据重传方法。在信道条件差(信噪比低)时, 该方法采用母码为低码率的LDPC码编码,校验位打孔的重传方式;在信道条件好(信噪比高)时,采用母码为高码率的LDPC码编码,信息位打孔的重传方式。该方法既能提高硬件利用率、节约能耗,又能保证在最差信道下数据传输的可靠性。 相似文献