DocumentCode
1421722
Title
Mining Iterative Generators and Representative Rules for Software Specification Discovery
Author
Lo, David ; Li, Jinyan ; Wong, Limsoon ; Khoo, Siau-Cheng
Author_Institution
Sch. of Inf. Syst., Singapore Manage. Univ., Singapore, Singapore
Volume
23
Issue
2
fYear
2011
Firstpage
282
Lastpage
296
Abstract
Billions of dollars are spent annually on software-related cost. It is estimated that up to 45 percent of software cost is due to the difficulty in understanding existing systems when performing maintenance tasks (i.e., adding features, removing bugs, etc.). One of the root causes is that software products often come with poor, incomplete, or even without any documented specifications. In an effort to improve program understanding, Lo et al. have proposed iterative pattern mining which outputs patterns that are repeated frequently within a program trace, or across multiple traces, or both. Frequent iterative patterns reflect frequent program behaviors that likely correspond to software specifications. To reduce the number of patterns and improve the efficiency of the algorithm, Lo et al. have also introduced mining closed iterative patterns, i.e., maximal patterns without any superpattern having the same support. In this paper, to technically deepen research on iterative pattern mining, we introduce mining iterative generators, i.e., minimal patterns without any subpattern having the same support. Iterative generators can be paired with closed patterns to produce a set of rules expressing forward, backward, and in-between temporal constraints among events in one general representation. We refer to these rules as representative rules. A comprehensive performance study shows the efficiency of our approach. A case study on traces of an industrial system shows how iterative generators and closed iterative patterns can be merged to form useful rules shedding light on software design.
Keywords
data mining; formal specification; iterative methods; program diagnostics; reverse engineering; software maintenance; closed iterative pattern mining; iterative generator mining; maintenance tasks; program tracing; program understanding; representative rules mining; software design; software specification discovery; software-related cost; Authorization; Computer bugs; Costs; Data mining; Investments; Iterative algorithms; Java; Software debugging; Software maintenance; Software performance; Frequent pattern mining; generators; iterative patterns; program comprehension.; representative rules; reverse engineering; sequence database; software engineering;
fLanguage
English
Journal_Title
Knowledge and Data Engineering, IEEE Transactions on
Publisher
ieee
ISSN
1041-4347
Type
jour
DOI
10.1109/TKDE.2010.24
Filename
5416710
Link To Document