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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Cesa-Bianchi, N. and Lugosi, G. 2006. Prediction, Learning, and Games. Cambridge University Press. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Eppstein, D. 1998. Finding the k shortest paths. SIAM J. Comput. 28, 2, 652--673. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- Li, Y.-T. S. and Malik, S. 1999. Performance Analysis of Real-Time Embedded Software. Kluwer Academic, Berlin.Google Scholar
- McCabe, T. J. 1976. A complexity measure. IEEE Trans. Softw. Eng. 2, 4, 308--320. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- Robbins, H. 1952. Some aspects of the sequential design of experiments. Bull. Amer. Math. Soc. 58, 5, 527--535.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Wilhelm, R. 2005. Determining bounds on execution times. In Handbook on Embedded Systems, R. Zurawski Ed., CRC Press.Google Scholar
Index Terms
Quantitative Analysis of Systems Using Game-Theoretic Learning
Recommendations
The verification technique of real-time systems using probabilities
RTCSA '96: Proceedings of the Third International Workshop on Real-Time Computing Systems ApplicationReal-time systems are distributed, and require reliability. The formal verification and specification are important for real-time systems. In this paper, in order to obtain reliability, we think the notion of dense-time and probabilities are necessary. ...
Verification system for real-time specification based on extended real-time logic
RTCSA '95: Proceedings of the 2nd International Workshop on Real-Time Computing Systems and ApplicationsA real-time system consists of many concurrent processes and behaves on strict timing conditions. It is important to verify the timing conditions of a real-time system. In this paper, we propose extended TCTL (Timed CTL) and effective real-time model ...
Compositional and symbolic model-checking of real-time systems
RTSS '95: Proceedings of the 16th IEEE Real-Time Systems SymposiumEfficient automatic model-checking algorithms for real-time systems have been obtained in recent years based on the state-region graph technique of Alur, Courcoubetis and Dill (1990). However, these algorithms are faced with two potential types of ...






Comments