skip to main content
research-article

Quantitative Analysis of Systems Using Game-Theoretic Learning

Published:01 August 2012Publication History
Skip Abstract Section

Abstract

The analysis of quantitative properties, such as timing and power, is central to the design of reliable embedded software and systems. However, the verification of such properties on a program is made difficult by their heavy dependence on the program’s environment, such as the processor it runs on. Modeling the environment by hand can be tedious, error prone, and time consuming. In this article, we present a new game-theoretic approach to analyzing quantitative properties that is based on performing systematic measurements to automatically learn a model of the environment. We model the problem as a game between our algorithm (player) and the environment of the program (adversary) in which the player seeks to accurately predict the property of interest, while the adversary sets environment states and parameters. To solve this problem, we employ a randomized strategy that repeatedly tests the program along a linear-sized set of program paths called basis paths, using the resulting measurements to infer a weighted-graph model of the environment from which quantitative properties can be predicted. Test cases are automatically generated using satisfiability modulo theories (SMT) solving. We prove that our algorithm can, under certain assumptions and with arbitrarily high probability, accurately predict properties such as worst-case execution time or estimate the distribution of execution times. Experimental results for execution time analysis demonstrate that our approach is efficient, accurate, and highly portable.

References

  1. Auer, P., Cesa-Bianchi, N., Freund, Y., and Schapire, R. E. 2003. The nonstochastic multiarmed bandit problem. SIAM J. Comput. 32, 1, 48--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Awerbuch, B. and Kleinberg, R. D. 2004. Adaptive routing with end-to-end feedback: Distributed learning and geometric approaches. In Proceedings of the 36th Annual ACM Symposium on Theory of Computing (STOC’04). ACM, New York, NY, USA, 45--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Barrett, C., Sebastiani, R., Seshia, S. A., and Tinelli, C. 2009. Satisfiability modulo theories. In Handbook of Satisfiability, A. Biere, H. van Maaren, and T. Walsh Eds., vol. 4. IOS Press, Amsterdam, Chapter 8.Google ScholarGoogle Scholar
  4. Bryant, R. E., Kroening, D., Ouaknine, J., Seshia, S. A., Strichman, O., and Brady, B. 2007. Deciding bit-vector arithmetic with abstraction. In Proceedings of the Workshop on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Lecture Notes in Computer Science, vol. 4424. Springer, Berlin, 358--372. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cesa-Bianchi, N. and Lugosi, G. 2006. Prediction, Learning, and Games. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chakrabarti, A., Chatterjee, K., Henzinger, T. A., Kupferman, O., and Majumdar, R. 2005. Verifying quantitative properties using bound functions. In Proceedings of the 13th IFIPWG 10.5 International Conference on Correct Hardware Design and Verification Methods (CHARME). Lecture Notes in Computer Science, vol. 3725. 50--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Eppstein, D. 1998. Finding the k shortest paths. SIAM J. Comput. 28, 2, 652--673. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. György, A., Linder, T., Lugosi, G., and Ottucsák, G. 2007. The on-line shortest path problem under partial monitoring. J. Mach. Learn. Res. 8, 2369--2403. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Irani, S., Singh, G., Shukla, S., and Gupta, R. 2005. An overview of the competitive and adversarial approaches to designing dynamic power management strategies. IEEE Trans. VLSI 13, 12, 1349--1361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Kirner, R. and Puschner, P. 2008. Obstacles in worst-case execution time analysis. In Proceedings of the IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC). 333--339. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lee, E. A. 2007. Computing foundations and practice for cyber-physical systems: A preliminary report. Tech. rep., UCB/EECS-2007-72, University of California at Berkeley.Google ScholarGoogle Scholar
  12. Li, X., Liang, Y., Mitra, T., and Roychoudhury, A. 2005. Chronos: A timing analyzer for embedded software. Tech. rep., National University of Singapore. http://www.comp.nus.edu.sg/~rpembed/chronos/chronos_tool.pdf.Google ScholarGoogle Scholar
  13. Li, Y.-T. S. and Malik, S. 1999. Performance Analysis of Real-Time Embedded Software. Kluwer Academic, Berlin.Google ScholarGoogle Scholar
  14. McCabe, T. J. 1976. A complexity measure. IEEE Trans. Softw. Eng. 2, 4, 308--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. McMahan, H. B. and Blum, A. 2004. Online geometric optimization in the bandit setting against an adaptive adversary. In Proceedings of the Annual Conference on Learning Theory (COLT’04). 109--123.Google ScholarGoogle Scholar
  16. Nemer, F., Cass, H., Sainrat, P., Bahsoun, J.-P., and Michiel, M. D. 2006. Papabench: A free real-time benchmark. In Proceedings of the 6th International Workshop on Worst-Case Execution Time (WCET) Analysis.Google ScholarGoogle Scholar
  17. Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puant, I., Puschner, P., Staschulat, J., and Stenström, P. 2008. The determination of worst-case execution times---Overview of the methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7, 3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Robbins, H. 1952. Some aspects of the sequential design of experiments. Bull. Amer. Math. Soc. 58, 5, 527--535.Google ScholarGoogle ScholarCross RefCross Ref
  19. Seshia, S. A. and Rakhlin, A. 2008. Game-theoretic timing analysis. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 575--582. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Seshia, S. A. and Rakhlin, A. 2010. Quantitative analysis of systems using game-theoretic learning. Tech. rep., UCB/EECS-2010-102, EECS Department, UC Berkeley, Berkley, CA.Google ScholarGoogle Scholar
  21. Tan, L. 2006. The worst case execution time tool challenge 2006: Technical report for the external test. Tech. rep., WCET Tool Challenge 1, Uni-DUE.Google ScholarGoogle Scholar
  22. Tiwari, V., Malik, S., and Wolfe, A. 1994. Power analysis of embedded software: A first step towards software power minimization. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 384--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Wenzel, I., Kirner, R., Rieder, B., and Puschner, P. 2008. Measurement-based timing analysis. In Proceedings of the 3rd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation.Google ScholarGoogle Scholar
  24. Wilhelm, R. 2005. Determining bounds on execution times. In Handbook on Embedded Systems, R. Zurawski Ed., CRC Press.Google ScholarGoogle Scholar

Index Terms

  1. Quantitative Analysis of Systems Using Game-Theoretic Learning

                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!