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.
- 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 Scholar
Digital Library
- Rajeev Alur and David L. Dill. 1994. A theory of timed automata. Theoretical Computer Science 126, 2 (1994), 183--235. Google Scholar
Digital Library
- Glenn Ammons, Rastislav Bodík, and James R. Larus. 2002. Mining specifications. ACM Sigplan Notices 37, 1 (2002), 4--16. Google Scholar
Digital Library
- Eugene Asarin, Paul Caspi, and Oded Maler. 2002. Timed regular expressions. Journal of the ACM 49, 2 (2002), 172--206. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- E. Mark Gold. 1978. Complexity of automaton identification from given data. Information and Control 37, 3 (1978), 302--320. Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Rob Krten. 1999. Getting Started with QNX Neutrino 2: A Guide for Realtime Programmers. PARSE Software Devices, Ottawa, Canada.Google Scholar
- Leslie Lamport. 1978. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21, 7 (1978), 558--565. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Mining Timed Regular Specifications from System Traces
Recommendations
Mining timed regular expressions from system traces
SoftwareMining 2016: Proceedings of the 5th International Workshop on Software MiningDynamic behavior of a program can be assessed through examination of events emitted by the program during execution. Temporal properties define the order of occurrence and timing constraints on event occurrence. Such specifications are important for ...
TREM: a tool for mining timed regular specifications from system traces
ASE '17: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software EngineeringSoftware specifications are useful for software validation, model checking, runtime verification, debugging, monitoring, etc. In context of safety-critical real-time systems, temporal properties play an important role. However, temporal properties are ...
A Kleene theorem for timed automata
LICS '97: Proceedings of the 12th Annual IEEE Symposium on Logic in Computer ScienceIn this paper we define timed regular expressions, and extension of regular expressions for specifying sets of dense-time discrete-valued signals. We show that this formalism is equivalent in expressive power to the timed automata of Alur and Dill by ...






Comments