作者: David Lo , Siau-Cheng Khoo , Chao Liu
DOI: 10.1002/SMR.V20:4
关键词: Application server 、 Programming language 、 Software verification 、 Software evolution 、 Debugging 、 Program comprehension 、 Record locking 、 Software engineering 、 Computer science 、 Temporal logic 、 Software 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.