Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Agrawal, R., Srikant, R.: Mining sequential patterns. In: ICDE 1995 (1995)
Ammons, G., BodÃk, R., Larus, J.R.: Mining specifications. In: POPL 2002 (2002)
Damm, W., Harel, D.: Lscs: Breathing life into message sequence charts. Tech. rep.
Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. TSE (2001)
Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. In: PLDI 1988, NY, USA (1988)
ITU-T: Itu-t recommendation z.120: Message sequence chart (msc) (1999)
Kugler, H., Harel, D., Pnueli, A., Lu, Y., Bontemps, Y.: Temporal logic for scenario-based specifications. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 445–460. Springer, Heidelberg (2005)
Lee, C., Chen, F., RoÅŸu, G.: Mining parametric specifications. In: ICSE 2011, NY, USA (2011)
Lo, D., Khoo, S.C., Liu, C.: Efficient mining of iterative patterns for software specification discovery. In: KDD 2007, New York, NY, USA (2007)
Masseglia, F., Poncelet, P., Teisseire, M.: Incremental mining of sequential patterns in large databases. Data Knowl. Eng. (2003)
Olender, K.M., Osterweil, L.J.: Cecil: A sequencing constraint language for automatic static analysis generation. IEEE Trans. Softw. Eng. (1990)
Pradel, M., Gross, T.R.: Automatic generation of object usage specifications from large method traces. In: ASE 2009. IEEE Computer Society, USA (2009)
Raja, V.R.: Soot: A Java Bytecode Optimization Framework. Master’s thesis, School of Computer Science, McGill University, Montreal (2000)
Thummalapenta, S., Xie, T.: Alattin: Mining alternative patterns for detecting neglected conditions. In: ASE 2009. IEEE Computer Society, USA (2009)
Thummalapenta, S., Xie, T.: Mining exception-handling rules as sequence association rules. In: ICSE 2009, Washington, DC, USA (2009)
Tip, F.: A survey of program slicing techniques. Tech. rep. (1994)
Wasylkowski, A., Zeller, A., Lindig, C.: Detecting object usage anomalies. FSE 2007 (2007)
Zhang, X., Gupta, R., Zhang, Y.: Precise dynamic slicing algorithms. In: ICSE 2003 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zuo, Z., Khoo, SC. (2013). Mining Dataflow Sensitive Specifications. In: Groves, L., Sun, J. (eds) Formal Methods and Software Engineering. ICFEM 2013. Lecture Notes in Computer Science, vol 8144. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41202-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-41202-8_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41201-1
Online ISBN: 978-3-642-41202-8
eBook Packages: Computer ScienceComputer Science (R0)