
Specification mining has become an attractive tool for assisting in numerous software development and maintenance tasks. The majority of these techniques share a common assumption: significant program properties occur frequently. Unfortunately, statistical inference alone produces too many program properties, many of which are found to be either insignificant or meaningless. Consequently, it becomes a laborious task for developers to separate semantically meaningful specifications from the rest. In this paper, we present a semantic-directed specification mining framework that injects in-depth semantics information into mining input. Specifically, we investigate the introduction of dataflow semantics to extract dataflow related sequences from execution traces, and demonstrate that mining specifications from these dataflow related sequences reduces a great number of meaningless specifications, resulting in a collection of specifications which are both semantically relevant and statistically significant. Our experimental results indicate that our approach can effectively filter out insignificant specifications and greatly improve the efficiency of mining. In addition, we also show that our mined specifications reflect the essential program behavior and can practically help program understanding and bug detection.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 3 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
