Abstract
We investigate how to use specification mining techniques for program anomaly analysis. We assume the input of positive traces (with- out execution anomalies) and negative traces (with execution anomalies). We then partition the traces into the following clusters: a positive cluster that contains all positive traces and some negative clusters according to the characteristics of trace anomalies. We present techniques for learn- ing temporal properties in Linear Temporal Logic with finite trace se- mantics (FLTL). We propose to mine FLTL properties that distinguish the negative clusters from the positive cluster. We experiment with 5 Android applications from Google Code and Google Play with traces of GUI events and crashes as the target anomaly. The report of FLTL properties with high support or confidence reveal the temporal patterns in GUI traces that cause the crashes. The performance data also shows that the clustering of negative traces indeed enhances the accuracy in mining meaningful temporal properties for test verdict prediction.
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., Imieliński, T., Swami, A.: Mining association rules between sets of items in large databases. In: Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, SIGMOD 1993, pp. 207–216. ACM, New York (1993)
Ammons, G., Bodík, R., Larus, J.R.: Mining specifications. In: Proceedings of the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2002, pp. 4–16. ACM, New York (2002)
Dallmeier, V., Knopp, N., Mallon, C., Hack, S., Zeller, A.: Generating test cases for specification mining. In: Proceedings of the 19th International Symposium on Software Testing and Analysis, ISSTA 2010, pp. 85–96. ACM, New York (2010)
Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. In: Proceedings of the 21st International Conference on Software Engineering, ICSE 1999, pp. 213–224. ACM, New York (1999)
Geisser, S.: Predictive Inference: An Introduction. Monographs on Statistics and Applied Probability. Chapman & Hall (1993)
Havelund, K., Rosu, G.: Testing linear temporal logic formulae on finite execution traces. Technical report (2001)
Kamp, H.W.: Tense Logic and the Theory of Linear Order. Phd thesis, Computer Science Department, University of California at Los Angeles, USA (1968)
Kotsiantis, S., Kanellopoulos, D.: Association rules mining: A recent overview. GESTS International Transactions on Computer Science and Engineering 32(1), 71–82 (2006)
Lo, D., Cheng, H., Han, J., Khoo, S.-C., Sun, C.: Classification of software behaviors for failure detection: a discriminative pattern mining approach. In: Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD 2009, pp. 557–566. ACM, New York (2009)
Lo, D., Khoo, S.-C.: Smartic: towards building an accurate, robust and scalable specification miner. In: Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT 2006/FSE-14, pp. 265–275. ACM, New York (2006)
Lo, D., Khoo, S.-C., Liu, C.: Efficient mining of recurrent rules from a sequence database. In: Haritsa, J.R., Kotagiri, R., Pudi, V. (eds.) DASFAA 2008. LNCS, vol. 4947, pp. 67–83. Springer, Heidelberg (2008)
Lo, D., Khoo, S.-C., Liu, C.: Mining past-time temporal rules from execution traces. In: Proceedings of the 2008 International Workshop on Dynamic Analysis: Held in Conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008), WODA 2008, pp. 50–56. ACM, New York (2008)
Lo, D., Maoz, S., Khoo, S.-C.: Mining modal scenario-based specifications from execution traces of reactive systems. In: Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering, ASE 2007, pp. 465–468. ACM, New York (2007)
Lorenzoli, D., Mariani, L., Pezzè, M.: Automatic generation of software behavioral models. In: Proceedings of the 30th International Conference on Software Engineering, ICSE 2008, pp. 501–510. ACM, New York (2008)
Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th Annual Symposium on Foundations of Computer Science, SFCS 1977, pp. 46–57. IEEE Computer Society, Washington, DC (1977)
Powers, D.M.W.: Evaluation: From precision, recall and f-measure to roc, informedness, markedness & correlation. Journal of Machine Learning Technologies 2(1), 37–63 (2011)
Rijsbergen, C.J.V.: Information Retrieval, 2nd edn. Butterworth-Heinemann, Newton (1979)
Strejček, J.: Linear Temporal Logic: Expressiveness and Model Checking. PhD thesis, Faculty of Informatics, Masaryk University, Brno, Czech Republic (2004)
Wang, F., Yao, L.-W., Wu, J.-H.: Intelligent test oracle construction for reactive systems without explicit specifications. In: Proceedings of the 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing, DASC 2011.IEEE Computer Society, Washington, DC (2011)
Yang, J., Evans, D.: Perracotta: mining temporal api rules from imperfect traces. In: Proceedings of the 28th International Conference on Software Engineering, ICSE 2006, pp. 282–291. ACM Press (2006)
Zhao, Q., Bhowmick, S.S.: Association Rule Mining: A Survey
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer International Publishing Switzerland
About this paper
Cite this paper
Wang, F., Wu, JH., Huang, CH., Chang, CC., Li, CC. (2013). Temporal Specification Mining for Anomaly Analysis. In: Shan, Cc. (eds) Programming Languages and Systems. APLAS 2013. Lecture Notes in Computer Science, vol 8301. Springer, Cham. https://doi.org/10.1007/978-3-319-03542-0_20
Download citation
DOI: https://doi.org/10.1007/978-3-319-03542-0_20
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-03541-3
Online ISBN: 978-3-319-03542-0
eBook Packages: Computer ScienceComputer Science (R0)