当前位置: X-MOL 学术Int. J. Softw. Eng. Knowl. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Software Crucial Functions Ranking and Detection in Dynamic Execution Sequence Patterns
International Journal of Software Engineering and Knowledge Engineering ( IF 0.9 ) Pub Date : 2020-06-26 , DOI: 10.1142/s0218194020500254
Bing Zhang 1 , Chun Shan 2 , Munawar Hussain 1 , Jiadong Ren 1 , Guoyan Huang 1
Affiliation  

Because of the sequence and number of calls of functions, software network cannot reflect the real execution of software. Thus, to detect crucial functions (DCF) based on software network is controversial. To address this issue, from the viewpoint of software dynamic execution, a novel approach to DCF is proposed in this paper. It firstly models, the dynamic execution process as an execution sequence by taking functions as nodes and tracing the stack changes occurring. Second, an algorithm for deleting repetitive patterns is designed to simplify execution sequence and construct software sequence pattern sets. Third, the crucial function detection algorithm is presented to identify the distribution law of the numbers of patterns at different levels and rank those functions so as to generate a decision-function-ranking-list (DFRL) by occurrence times. Finally, top-k discriminative functions in DFRL are chosen as crucial functions, and similarity the index of decision function sets is set up. Comparing with the results from Degree Centrality Ranking and Betweenness Centrality Ranking approaches, our approach can increase the node coverage to 80%, which is proven to be an effective and accurate one by combining advantages of the two classic algorithms in the experiments of different test cases on four open source software. The monitoring and protection on crucial functions can help increase the efficiency of software testing, strength software reliability and reduce software costs.

中文翻译:

动态执行序列模式中的软件关键功能排序和检测

由于函数调用的顺序和次数,软件网络不能反映软件的真实执行情况。因此,基于软件网络的关键功能检测(DCF)是有争议的。为了解决这个问题,本文从软件动态执行的角度提出了一种新的 DCF 方法。它首先将动态执行过程建模为一个执行序列,以函数为节点并跟踪发生的堆栈变化。其次,设计了一种删除重复模式的算法,以简化执行序列并构建软件序列模式集。第三,提出了关键函数检测算法,识别不同层次模式数量的分布规律,并对这些函数进行排序,以生成按出现次数的决策函数排序列表(DFRL)。最后选取DFRL中的top-k判别函数作为关键函数,建立决策函数集的相似度指标。与Degree Centrality Ranking和Betweenness Centrality Ranking方法的结果相比,我们的方法可以将节点覆盖率提高到80%,结合两种经典算法的优点,在不同测试用例的实验中证明是一种有效且准确的方法关于四个开源软件。对关键功能的监控和保护有助于提高软件测试的效率,
更新日期:2020-06-26
down
wechat
bug