skip to main content
article

TIC: a scalable model checking based approach to WCET estimation

Published:13 June 2016Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarCross RefCross Ref
  2. 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 ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle Scholar
  8. E. M. Clarke, Jr., O. Grumberg, and D. A. Peled. Model Checking. MIT Press, Cambridge, MA, USA, 1999. ISBN 0-262-03270-8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle Scholar
  13. J. Hatcliff, M. B. Dwyer, and H. Zheng. Slicing software for model construction. Higher Order Symbol. Comput., 13(4):315–353, Dec. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Holsti and S. Saarinen. Status of the Bound-T WCET tool. Space Systems Finland Ltd, 2002.Google ScholarGoogle Scholar
  16. S. Kim, H. Patel, and S. Edwards. Using a Model Checker to Determine Worst-Case Execution Time. Design, 2009.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarCross RefCross Ref
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle Scholar

Index Terms

  1. TIC: a scalable model checking based approach to WCET estimation

            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

            • Published in

              cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 51, Issue 5
              LCTES '16
              May 2016
              122 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/2980930
              • Editor:
              • Andy Gill
              Issue’s Table of Contents
              • cover image ACM Conferences
                LCTES 2016: Proceedings of the 17th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools, and Theory for Embedded Systems
                June 2016
                122 pages
                ISBN:9781450343169
                DOI:10.1145/2907950

              Copyright © 2016 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 13 June 2016

              Check for updates

              Qualifiers

              • article

            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!