Abstract
The application of Model Checking to compute WCET has not been explored as much as Integer Linear Programming (ILP), primarily because model checkers fail to scale for complex programs. These programs have loops with large or unknown bounds, leading to a state space explosion that model checkers cannot handle. To overcome this, we have developed a technique, TIC, that employs slicing, loop acceleration and over-approximation on time-annotated source code, enabling Model Checking to scale better for WCET computation. Further, our approach is parametric, so that the user can make a trade-off between the tightness of WCET estimate and the analysis time. We conducted experiments on the Mälardalen benchmarks to evaluate the effect of various abstractions on the WCET estimate and analysis time. Additionally, we compared our estimates to those made by an ILP-based analyzer and found that our estimates were tighter for more than 30% of the examples and were equal for the rest.
- O. Al-Bataineh, M. Reynolds, and T. French. Accelerating worst case execution time analysis of timed automata models with cyclic behaviour. Formal Aspects of Computing, 27(5):917–949, 2015. Google Scholar
Cross Ref
- D. Beyer. Status Report on Software Verification (Competition Summary SV-COMP 2014). In E. Ábrahám and K. Havelund, editors, Tools and Algorithms for the Construction and Analysis of Systems, volume 8413 of Lecture Notes in Computer Science, pages 373–388. Springer Berlin Heidelberg, 2014.Google Scholar
- S. Blazy, A. Maroneze, and D. Pichardie. Verified Software: Theories, Tools, Experiments: 5th International Conference, VSTTE 2013, Menlo Park, CA, USA, May 17-19, 2013, Revised Selected Papers, chapter Formal Verification of Loop Bound Estimation for WCET Analysis, pages 281–303. Springer, Berlin, Heidelberg, 2014.Google Scholar
- D. Brumley, I. Jager, T. Avgerinos, and E. J. Schwartz. BAP: a binary analysis platform. In Computer aided verification, pages 463–469. Springer, 2011. Google Scholar
Digital Library
- P. ˇ Cerný, T. A. Henzinger, L. Kovács, A. Radhakrishna, and J. Zwirchmayr. Segment Abstraction for Worst-Case Execution Time Analysis. In J. Vitek, editor, Programming Languages and Systems: 24th European Symposium on Programming, ESOP 2015, pages 105–131. Springer Berlin Heidelberg, 2015.Google Scholar
- S. Chattopadhyay and A. Roychoudhury. Scalable and precise refinement of cache timing analysis via path-sensitive verification. Real-Time Systems, 49(4):517–562, 2013.Google Scholar
Cross Ref
- E. Clarke, D. Kroening, and F. Lerda. Tools and Algorithms for the Construction and Analysis of Systems: 10th International Conference, TACAS 2004, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2004, Barcelona, Spain, March 29 - April 2, 2004. Proceedings, chapter A Tool for Checking ANSI-C Programs, pages 168–176. Springer, Berlin, Heidelberg, 2004.Google Scholar
- E. M. Clarke, Jr., O. Grumberg, and D. A. Peled. Model Checking. MIT Press, Cambridge, MA, USA, 1999. ISBN 0-262-03270-8. Google Scholar
Digital Library
- P. Darke, B. Chimdyalwar, R. Venkatesh, U. Shrotri, and R. Metta. Over-approximating loops to prove properties using bounded model checking. In Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition, DATE 2015, Grenoble, France, March 9-13, 2015, pages 1407–1412, 2015. Google Scholar
Digital Library
- Y. Demyanova, T. Pani, H. Veith, and F. Zuleger. Computer Aided Verification: 27th International Conference, CAV 2015, San Francisco, CA, USA, July 18-24, 2015, Proceedings, Part I, chapter Empirical Software Metrics for Benchmarking of Verification Tools, pages 561– 579. Springer International Publishing, Cham, 2015.Google Scholar
- A. Ermedahl, F. Stappert, and J. Engblom. Clustered worst-case execution-time calculation. Computers, IEEE Transactions on, 54(9): 1104–1122, Sept 2005. ISSN 0018-9340. Google Scholar
Digital Library
- J. Gustafsson, A. Betts, A. Ermedahl, and B. Lisper. The Mälardalen WCET benchmarks – past, present and future. In B. Lisper, editor, WCET2010, pages 137–147, Brussels, Belgium, July 2010. OCG.Google Scholar
- J. Hatcliff, M. B. Dwyer, and H. Zheng. Slicing software for model construction. Higher Order Symbol. Comput., 13(4):315–353, Dec. 2000. Google Scholar
Digital Library
- J. Henry, M. Asavoae, D. Monniaux, and C. Maïza. How to compute worst-case execution time by optimization modulo theory and a clever encoding of program semantics. In Proceedings of the 2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems, LCTES ’14, pages 43–52, New York, NY, USA, 2014. ACM. Google Scholar
Digital Library
- N. Holsti and S. Saarinen. Status of the Bound-T WCET tool. Space Systems Finland Ltd, 2002.Google Scholar
- S. Kim, H. Patel, and S. Edwards. Using a Model Checker to Determine Worst-Case Execution Time. Design, 2009.Google Scholar
- J. Knoop, L. Kovács, and J. Zwirchmayr. Perspectives of Systems Informatics: 8th International Andrei Ershov Memorial Conference, PSI 2011, Novosibirsk, Russia, June 27-July 1, 2011, Revised Selected Papers, chapter Symbolic Loop Bound Computation for WCET Analysis, pages 227–242. Springer, Berlin, Heidelberg, 2012. Google Scholar
Digital Library
- M. M. Y. Kuo, L. H. Yoong, S. Andalam, and P. S. Roop. Determining the worst-case reaction time of IEC 61499 function blocks. IEEE International Conference on Industrial Informatics (INDIN), pages 1104–1109, 2010. ISSN 19354576.Google Scholar
Cross Ref
- Y.-T. Li and S. Malik. Performance analysis of embedded software using implicit path enumeration. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 16(12), 1997. Google Scholar
Digital Library
- M. Lv, Z. Gu, N. Guan, Q. Deng, and G. Yu. Performance comparison of techniques on static path analysis of WCET. In Proceedings of The 5th International Conference on Embedded and Ubiquitous Computing, EUC 2008, volume 1, pages 104–111, 2008. Google Scholar
Digital Library
- A. Marref. Fully-automatic derivation of exact program-flow constraints for a tighter worst-case execution-time analysis. Embedded Computer Systems (SAMOS), 2011 International Conference on, pages 200–208, July 2011.Google Scholar
Cross Ref
- A. Metzner. Computer Aided Verification: 16th International Conference, CAV 2004, Boston, MA, USA, July 13-17, 2004. Proceedings, chapter Why Model Checking Can Improve WCET Analysis, pages 334–347. Springer, Berlin, Heidelberg, 2004.Google Scholar
- K. Pingali and G. Bilardi. Apt: A data structure for optimal control dependence computation. In Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, PLDI ’95, pages 32–46, New York, NY, USA, 1995. ACM. ISBN 0-89791-697-2. Google Scholar
Digital Library
- M. Weiser. Program slicing. In Proceedings of the 5th International Conference on Software Engineering, ICSE ’81, pages 439–449, Piscataway, NJ, USA, 1981. IEEE Press. Google Scholar
Digital Library
- R. Wilhelm. Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone. In B. Steffen and G. Levi, editors, Verification, Model Checking, and Abstract Interpretation, Lecture Notes in Computer Science, pages 309–322. Springer Berlin Heidelberg, 2004.Google Scholar
Index Terms
TIC: a scalable model checking based approach to WCET estimation
Recommendations
TIC: a scalable model checking based approach to WCET estimation
LCTES 2016: Proceedings of the 17th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools, and Theory for Embedded SystemsThe application of Model Checking to compute WCET has not been explored as much as Integer Linear Programming (ILP), primarily because model checkers fail to scale for complex programs. These programs have loops with large or unknown bounds, leading to ...
Bounded model checking of high-integrity software
HILT '13: Proceedings of the 2013 ACM SIGAda annual conference on High integrity language technologyModel checking [5] is an automated algorithmic technique for exhaustive verification of systems, described as finite state machines, against temporal logic [9] specifications. It has been used successfully to verify hardware at an industrial scale [6]. ...
Conditional model checking: a technique to pass information between verifiers
FSE '12: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software EngineeringSoftware model checking, as an undecidable problem, has three possible outcomes: (1) the program satisfies the specification, (2) the program does not satisfy the specification, and (3) the model checker fails. The third outcome usually manifests itself ...







Comments