Open Access
Mining dynamic noteworthy functions in software execution sequences
Author(s) -
Bing Zhang,
Guoyan Huang,
Yuqian Wang,
Hong He,
Jianxin Ren
Publication year - 2017
Publication title -
plos one
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.99
H-Index - 332
ISSN - 1932-6203
DOI - 10.1371/journal.pone.0173244
Subject(s) - computer science , software , data mining , identification (biology) , pagerank , process (computing) , software quality , function (biology) , software maintenance , software development , theoretical computer science , operating system , botany , evolutionary biology , biology
As the quality of crucial entities can directly affect that of software, their identification and protection become an important premise for effective software development, management, maintenance and testing, which thus contribute to improving the software quality and its attack-defending ability. Most analysis and evaluation on important entities like codes-based static structure analysis are on the destruction of the actual software running. In this paper, from the perspective of software execution process, we proposed an approach to mine dynamic noteworthy functions ( DNFM )in software execution sequences. First, according to software decompiling and tracking stack changes, the execution traces composed of a series of function addresses were acquired. Then these traces were modeled as execution sequences and then simplified so as to get simplified sequences ( SFS ), followed by the extraction of patterns through pattern extraction ( PE ) algorithm from SFS . After that, evaluating indicators inner-importance and inter-importance were designed to measure the noteworthiness of functions in DNFM algorithm. Finally, these functions were sorted by their noteworthiness. Comparison and contrast were conducted on the experiment results from two traditional complex network-based node mining methods, namely PageRank and DegreeRank . The results show that the DNFM method can mine noteworthy functions in software effectively and precisely.