Mining temporal rules for software maintenance

Software evolution incurs difficulties in program comprehension and software verification, and hence it increases the cost of software maintenance. In this study, we propose a novel technique to mine from program execution traces a sound and complete set of statistically significant temporal rules o...

Full description

Saved in:
Bibliographic Details
Main Authors: LO, David, Khoo, Siau-Cheng, LIU, Chao
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2008
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/742
https://ink.library.smu.edu.sg/context/sis_research/article/1741/viewcontent/jsme08.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-1741
record_format dspace
spelling sg-smu-ink.sis_research-17412011-11-02T08:51:43Z Mining temporal rules for software maintenance LO, David Khoo, Siau-Cheng LIU, Chao Software evolution incurs difficulties in program comprehension and software verification, and hence it increases the cost of software maintenance. In this study, we propose a novel technique to mine from program execution traces a sound and complete set of statistically significant temporal rules of arbitrary lengths. The extracted temporal rules reveal invariants that the program observes, and will consequently guide developers to understand the program behaviors, and facilitate all downstream applications such as verification and debugging. Different from previous studies that were restricted to mining two-event rules (e.g., (lock) →(unlock)), our algorithm discovers rules of arbitrary lengths. In order to facilitate downstream applications, we represent the mined rules as temporal logic expressions, so that existing model checkers or other formal analysis toolkit can readily consume our mining results. Performance studies on benchmark data sets and a case study on an industrial system have been performed to show the scalability and utility of our approach. We performed case studies on JBoss application server and a buggy concurrent versions system application, and the result clearly demonstrates the usefulness of our technique in recovering underlying program designs and detecting bugs. Copyright © 2008 John Wiley & Sons, Ltd. 2008-07-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/742 info:doi/10.1002/smr.375 https://ink.library.smu.edu.sg/context/sis_research/article/1741/viewcontent/jsme08.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Software Engineering
spellingShingle Software Engineering
LO, David
Khoo, Siau-Cheng
LIU, Chao
Mining temporal rules for software maintenance
description Software evolution incurs difficulties in program comprehension and software verification, and hence it increases the cost of software maintenance. In this study, we propose a novel technique to mine from program execution traces a sound and complete set of statistically significant temporal rules of arbitrary lengths. The extracted temporal rules reveal invariants that the program observes, and will consequently guide developers to understand the program behaviors, and facilitate all downstream applications such as verification and debugging. Different from previous studies that were restricted to mining two-event rules (e.g., (lock) →(unlock)), our algorithm discovers rules of arbitrary lengths. In order to facilitate downstream applications, we represent the mined rules as temporal logic expressions, so that existing model checkers or other formal analysis toolkit can readily consume our mining results. Performance studies on benchmark data sets and a case study on an industrial system have been performed to show the scalability and utility of our approach. We performed case studies on JBoss application server and a buggy concurrent versions system application, and the result clearly demonstrates the usefulness of our technique in recovering underlying program designs and detecting bugs. Copyright © 2008 John Wiley & Sons, Ltd.
format text
author LO, David
Khoo, Siau-Cheng
LIU, Chao
author_facet LO, David
Khoo, Siau-Cheng
LIU, Chao
author_sort LO, David
title Mining temporal rules for software maintenance
title_short Mining temporal rules for software maintenance
title_full Mining temporal rules for software maintenance
title_fullStr Mining temporal rules for software maintenance
title_full_unstemmed Mining temporal rules for software maintenance
title_sort mining temporal rules for software maintenance
publisher Institutional Knowledge at Singapore Management University
publishDate 2008
url https://ink.library.smu.edu.sg/sis_research/742
https://ink.library.smu.edu.sg/context/sis_research/article/1741/viewcontent/jsme08.pdf
_version_ 1770570696962867200