Early Filtering of Polluting Method Calls for Mining Temporal Specifications

  • Authors:
  • Hao Zhong;Lu Zhang;Hong Mei

  • Affiliations:
  • -;-;-

  • Venue:
  • APSEC '08 Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Temporal specifications can describe the legal call sequences of API libraries. With these specifications, verification tools can find defects in existing clients automatically. However, temporal specifications are often not provided due to the high cost of writing them manually or being out-ofdate due to the rapid evolution of software. As API clients contain many usages of libraries including temporal rules, various approaches have been proposed to automatically mine temporal specifications from these clients. Typically, only a small part of the mined specifications are real specifications because the generated traces from clients are quite large and polluted. In this paper, we analyze four types of unwanted method calls that are not useful for mining, and we refer to these method calls as polluting method calls. As these method calls are not useful for mining, it is desirable to filter out them as early as possible. To address the problem, we develop a tool, named Mining Accurate Temporal Specifications (MATS), that filters out most of the preceding polluting method calls before traces are generated. Our experiments show that with these filtering techniques, the specifications mined by MATS are more accurate than without these filtering techniques. Our experiments also show the detailed impacts of MATS’s filtering techniques. The results provide further insight on how and why MATS improves existing specification mining.