Mining temporal rules for software maintenance

作者: David Lo , Siau-Cheng Khoo , Chao Liu

DOI: 10.1002/SMR.V20:4

关键词: Application serverProgramming languageSoftware verificationSoftware evolutionDebuggingProgram comprehensionRecord lockingSoftware engineeringComputer scienceTemporal logicSoftware maintenance

摘要: Software evolution incurs difficulties in program comprehension and software verification, hence it increases the cost of maintenance. In this study, we propose a novel technique to mine from execution traces sound complete set statistically significant temporal rules arbitrary lengths. The extracted reveal invariants that observes, will consequently guide developers understand behaviors, facilitate all downstream applications such as verification debugging. Different previous studies were restricted mining two-event (e.g., (lock) →(unlock)), our algorithm discovers order applications, represent mined logic expressions, so existing model checkers or other formal analysis toolkit can readily consume results. Performance on benchmark data sets case study an industrial system have been performed show scalability utility approach. We JBoss application server buggy concurrent versions application, result clearly demonstrates usefulness recovering underlying designs detecting bugs. Copyright © 2008 John Wiley & Sons, Ltd. This work was done while author with School Computing, National University Singapore.

参考文章(32)
Ramakrishnan Srikant, Rakesh Agrawal, Fast algorithms for mining association rules very large data bases. pp. 580- 592 ,(1998)
Ramakrishnan Srikant, Rakesh Agrawal, Fast Algorithms for Mining Association Rules in Large Databases very large data bases. pp. 487- 499 ,(1994)
Behzad Mortazavi-Asl, Umeshwar Dayal, Qiming Chen, Jiawei Han, Jian Pei, Meichun Hsu, Helen Pinto, PrefixSpan: Mining Sequential Patterns by Prefix-Projected Growth international conference on data engineering. pp. 215- 224 ,(2001)
Jiawei Han, Ramin Afshar, Xifeng Yan, CloSpan: Mining Closed Sequential Patterns in Large Databases. siam international conference on data mining. pp. 166- 177 ,(2003)
Michael Huth, Mark Ryan, Logic in Computer Science Cambridge University Press. ,(2004) , 10.1017/CBO9780511810275
Matthew B. Dwyer, George S. Avrunin, James C. Corbett, Patterns in property specifications for finite-state verification international conference on software engineering. pp. 411- 420 ,(1999) , 10.1145/302405.302672
Rajeev Motwani, John E. Hopcroft, Jeffrey D. Ullman, Rotwani, Introduction to Automata Theory, Languages, and Computation ,(1979)
Jonathan E. Cook, Alexander L. Wolf, Discovering models of software processes from event-based data ACM Transactions on Software Engineering and Methodology. ,vol. 7, pp. 215- 249 ,(1998) , 10.1145/287000.287001
James R. Larus, Eric Schnarr, EEL Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation - PLDI '95. ,vol. 30, pp. 291- 300 ,(1995) , 10.1145/207110.207163