Abstract
Specification mining techniques are used to automatically infer interaction specifications among objects in the format of call sequences, but many of these specifications can be meaningless or insignificant. As a consequence, when used in program testing or formal verification, the presence of these leads to false positive defects, which in turn demand much effort for manual investigation. We propose a novel process for determining and extracting significant specifications from a set of mined specifications using mutation testing. The resulting specifications can then be used with program verification to detect defects with high accuracy. To our knowledge, this is the first fully automatic approach for extracting significant specifications from mining using program testing. We evaluate our approach through mining significant specifications for the Java API and use them to find real defects in many systems.
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
Ammons, G., BodÃk, R., Larus, J.R.: Mining specifications. In: POPL 2002, pp. 4–16 (2002)
Blackburn, S.M., Garner, R., Hoffmann, C., Khang, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Moss, B., Phansalkar, A., Stefanović, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The dacapo benchmarks: java benchmarking development and analysis. In: OOPSLA 2006, pp. 169–190 (2006)
Bruneton, E., Lenglet, R., Coupaye, T.: Asm: A code manipulation tool to implement adaptable systems. In: Adaptable and Extensible Component Systems, Grenoble, France (2002), asm.objectweb.org/current/asm-eng.pdf
Dallmeier, V., Knopp, N., Mallon, C., Hack, S., Zeller, A.: Generating test cases for specification mining. In: ISSTA 2010, pp. 85–96 (2010)
Dallmeier, V., Lindig, C., Wasylkowski, A., Zeller, A.: Mining object behavior with adabu. In: WODA 2006, pp. 17–24 (2006)
Doan, T.A., Lo, D., Maoz, S., Khoo, S.C.: Lm: a miner for scenario-based specifications. In: ICSE 2010, pp. 319–320 (2010)
Gabel, M., Su, Z.: Javert: fully automatic mining of general temporal properties from dynamic traces. In: SIGSOFT 2008/FSE, vol. 16, pp. 339–349 (2008)
Gabel, M., Su, Z.: Online inference and enforcement of temporal properties. In: ICSE 2010, pp. 15–24 (2010)
Goues, C., Weimer, W.: Specification mining with few false positives. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 292–306. Springer, Heidelberg (2009)
Gruska, N., Wasylkowski, A., Zeller, A.: Learning from 6,000 projects: lightweight cross-project anomaly detection. In: ISSTA 2010, pp. 119–130 (2010)
Jump, M., McKinley, K.S.: Cork: dynamic memory leak detection for garbage-collected languages. In: POPL 2007, pp. 31–38 (2007)
Livshits, B., Zimmermann, T.: Dynamine: finding common error patterns by mining software revision histories. In: ESEC/FSE, vol. 13, pp. 296–305 (2005)
Lo, D., Khoo, S.C.: Smartic: towards building an accurate, robust and scalable specification miner. In: SIGSOFT 2006/FSE, vol. 14, pp. 265–275 (2006)
Lo, D., Khoo, S.C., Liu, C.: Mining past-time temporal rules from execution traces. In: WODA 2008, pp. 50–56 (2008)
Lo, D., Khoo, S.C., Wong, L.: Non-redundant sequential rules-theory and algorithm. Inf. Syst. 34, 438–453 (2009)
Nguyen, A.C., Khoo, S.C.: Extracting significant specifications from mining through mutation testing. Tech. Rep. TRA7/11, Department of Computer Science, National University of Singapore (July 2011)
Thummalapenta, S., Xie, T.: Mining exception-handling rules as sequence association rules. In: ICSE 2009, pp. 496–506 (2009)
Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Automated Software Engineering 10, 203–232 (2003)
Wasylkowski, A., Zeller, A., Lindig, C.: Detecting object usage anomalies. In: ESEC-FSE 2007, pp. 35–44 (2007)
Yang, J., Evans, D., Bhardwaj, D., Bhat, T., Das, M.: Perracotta: mining temporal api rules from imperfect traces. In: ICSE 2006, pp. 282–291 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nguyen, A.C., Khoo, SC. (2011). Extracting Significant Specifications from Mining through Mutation Testing. In: Qin, S., Qiu, Z. (eds) Formal Methods and Software Engineering. ICFEM 2011. Lecture Notes in Computer Science, vol 6991. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24559-6_32
Download citation
DOI: https://doi.org/10.1007/978-3-642-24559-6_32
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24558-9
Online ISBN: 978-3-642-24559-6
eBook Packages: Computer ScienceComputer Science (R0)