skip to main content
research-article

Mining Timed Regular Specifications from System Traces

Published:03 January 2018Publication History
Skip Abstract Section

Abstract

Temporal properties define the order of occurrence and timing constraints on event occurrence. Such specifications are important for safety-critical real-time systems. We propose a framework for automatically mining temporal properties that are in the form of timed regular expressions (TREs) from system traces. Using an abstract structure of the property, the framework constructs a finite state machine to serve as an acceptor. We analytically derive speedup for the fragment and confirm the speedup using empirical validation with synthetic traces. The framework is evaluated on industrial-strength safety-critical real-time applications using traces with more than 1 million entries.

References

  1. Rajeev Alur, Pavol Černỳ, Parthasarathy Madhusudan, and Wonhong Nam. 2005. Synthesis of interface specifications for Java classes. ACM SIGPLAN Notices 40, 1 (2005), 98--109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Rajeev Alur and David L. Dill. 1994. A theory of timed automata. Theoretical Computer Science 126, 2 (1994), 183--235. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Glenn Ammons, Rastislav Bodík, and James R. Larus. 2002. Mining specifications. ACM Sigplan Notices 37, 1 (2002), 4--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Eugene Asarin, Paul Caspi, and Oded Maler. 2002. Timed regular expressions. Journal of the ACM 49, 2 (2002), 172--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Marco Bonato, Giuseppe Di Guglielmo, Masahiro Fujita, Franco Fummi, and Graziano Pravadelli. 2012. Dynamic property mining for embedded software. In Proceedings of the 8th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. ACM, New York, 187--196. 100104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Marat Boshernitsan, Roongko Doong, and Alberto Savoia. 2006. From daikon to agitator: Lessons and challenges in building a commercial tool for developer testing. In Proceedings of the 2006 International Symposium on Software Testing and Analysis. ACM, New York, 169--180. 594061. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Mihai Christodorescu, Somesh Jha, and Christopher Kruegel. 2008. Mining specifications of malicious behavior. In Proceedings of the 1st India Software Engineering Conference. ACM, New York, 5--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Greta Cutulenco, Yogi Joshi, Apurva Narayan, and Sebastian Fischmeister. 2016. Mining timed regular expressions from system traces. In Proceedings of the 5th International Workshop on Software Mining. 3--10. DOI:http://dx.doi.org/10.1145/2975961.2975962 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Valentin Dallmeier, Nikolai Knopp, Christoph Mallon, Gordon Fraser, Sebastian Hack, and Andreas Zeller. 2012. Automatically generating test cases for specification mining. IEEE Transactions on Software Engineering 38, 2 (2012), 243--257. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Valentin Dallmeier, Nikolai Knopp, Christoph Mallon, Sebastian Hack, and Andreas Zeller. 2010. Generating test cases for specification mining. In Proceedings of the 19th International Symposium on Software Testing and Analysis. ACM, New York, 85--96. 594101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Robert I. Davis, Alan Burns, Reinder J. Bril, and Johan J. Lukkien. 2007. Controller area network (CAN) schedulability analysis: Refuted, revisited and revised. Real-Time Systems 35, 3 (2007), 239--272. DOI:http://dx.doi.org/10.1007/s11241-007-9012-7 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Matthew B. Dwyer, George S. Avrunin, and James C. Corbett. 1999. Patterns in property specifications for finite-state verification. In Proceedings of the 1999 International Conference on Software Engineering. IEEE, 411--420. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Dawson Engler, David Yu Chen, Seth Hallem, Andy Chou, and Benjamin Chelf. 2001. Bugs as deviant behavior: A general approach to inferring errors in systems code. SIGOPS Operating Systems Review 35, Article 5 (Oct. 2001), 16 pages. DOI:http://dx.doi.org/10.1145/502059.502041 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Michael D. Ernst. 2003. Static and dynamic analysis: Synergy and duality. In ICSE Workshop on Dynamic Analysis (WODA’03). IEEE Computer Society, 24--27.Google ScholarGoogle Scholar
  15. Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin. 2001. Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering 27, 2 (2001), 99--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Michael D. Ernst, Jeff H. Perkins, Philip J. Guo, Stephen McCamant, Carlos Pacheco, Matthew S. Tschantz, and Chen Xiao. 2007. The daikon system for dynamic detection of likely invariants. Science of Computer Programming 69, 1 (2007), 35--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mark Gabel and Zhendong Su. 2010. Online inference and enforcement of temporal properties. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1. ACM, New York, 15--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. E. Mark Gold. 1978. Complexity of automaton identification from given data. Information and Control 37, 3 (1978), 302--320. Google ScholarGoogle ScholarCross RefCross Ref
  19. Sudheendra Hangal, Naveen Chandra, Sridhar Narayanan, and Sandeep Chakravorty. 2005. IODINE: A tool to automatically infer dynamic invariants for hardware designs. In Proceedings of the 42nd Annual Design Automation Conference. ACM, New York, 775--778. 477050. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Sudheendra Hangal and Monica S. Lam. 2002. Tracking down software bugs using automatic anomaly detection. In Proceedings of the 24th International Conference on Software Engineering. ACM, New York, 291--301. 592020. Google ScholarGoogle ScholarCross RefCross Ref
  21. Reed Hastings and Bob Joyce. 1992. Purify: Fast detection of memory leaks and access errors. In Proceedings of the Winter 1992 Usenix Conference. USENIX, San Francisco, CA, 125--136.Google ScholarGoogle Scholar
  22. John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. 2006. Introduction to Automata Theory, Languages, and Computation (3rd Edition). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Zachary Kincaid and Andreas Podelski. 2015. Automated program verification. In Proceedings of Language and Automata Theory and Applications: 9th International Conference, (LATA’15). Vol. 8977. Springer, Nice, France, 25.Google ScholarGoogle Scholar
  24. Rob Krten. 1999. Getting Started with QNX Neutrino 2: A Guide for Realtime Programmers. PARSE Software Devices, Ottawa, Canada.Google ScholarGoogle Scholar
  25. Leslie Lamport. 1978. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21, 7 (1978), 558--565. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Kim G. Larsen, Paul Pettersson, and Wang Yi. 1997. UPPAAL in a Nutshell. In International Journal on Software Tools for Technology Transfer (STTT’97) 1, 1 (1997), 134–152.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Caroline Lemieux, Dennis Park, and Ivan Beschastnikh. 2015. General LTL specification mining. In 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE’15). ACM, New York, 81--92.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Wenchao Li, Alessandro Forin, and Sanjit A. Seshia. 2010. Scalable specification mining for verification and diagnosis. In Proceedings of the 47th Design Automation Conference. ACM, New York, 755--760. ACM Order No.: 4770101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Davide Lorenzoli, Leonardo Mariani, and Mauro Pezzè. 2008. Automatic generation of software behavioral models. In Proceedings of the 30th International Conference on Software Engineering. ACM, New York, 501--510. 529080. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Jeff H. Perkins and Michael D. Ernst. 2004. Efficient incremental algorithms for dynamic detection of likely invariants. In ACM SIGSOFT Software Engineering Notes. ACM, New York, 23--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, and Thomas Anderson. 1997. Eraser: A dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems (TOCS) 15, 4 (1997), 391--411. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Jinlin Yang and David Evans. 2004a. Automatically inferring temporal properties for program evolution. In 15th International Symposium on Software Reliability Engineering, 2004 (ISSRE’04). IEEE, 340--351.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Jinlin Yang and David Evans. 2004b. Dynamically inferring temporal properties. In Proceedings of the 5th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE’04). ACM, New York, 23--28. DOI:http://dx.doi.org/10.1145/996821.996832 Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Jinlin Yang, David Evans, Deepali Bhardwaj, Thirumalesh Bhat, and Manuvir Das. 2006. Perracotta: Mining temporal API rules from imperfect traces. In Proceedings of the 28th International Conference on Software Engineering. ACM, New York, 282--291. 592060. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mining Timed Regular Specifications from System Traces

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!