ABSTRACT
This paper examines the problem of statically analyzing the performance of embedded software. This problem is motivated by the increasing growth of embedded systems and a lack of appropriate analysis tools.We study different performance metrics that need tobe considered in this context and examine a range oftechniques that have been proposed for analysis. Verybroadly these can be classified into path analysis andsystem utilization analysis techniques. It is observedthat these are interdependent, and thus need to beconsidered together in any analysis framework.
- 1.A. V. Aho, R. Sethi, and J. D. Ullman. Compilers Principles, Techniques, and Tools. Addison-Wesley, 1986. ISBN 0-201-10194-7. Google ScholarDigital Library
- 2.S. J. Bharrat and K. Jeffay. Predicting worst case execution times on a pipelined RISC processor. Technical report, Department of Computer Science, University of North Carolina at Chapel Hill, April 1994. TR94-072. Google ScholarDigital Library
- 3.S. Ghosh, M. Martonosi, and S. Malik. Cache Miss Equations: An Analytical Representation of Cache Misses. Proc. 1997 International Conference on Supercomputing, July 1997. Google ScholarDigital Library
- 4.R. K. Gupta and G. D. Micheli. Hardware-software cosynthesis for digital systems. IEEE Design and Test of Computers, pages 29-41, September 1993. Google ScholarDigital Library
- 5.M. G. Harmon. Predicting Execution Time on Contemporary Computer Architectures. PhD thesis, The Florida State University, April 1991. Google ScholarDigital Library
- 6.C. A. Healy, D. B. Whalley, and M. G. Harmon. Integrating the timing analysis of pipelining and instruction caching. In Proceedings of 16th IEEE Real-Time Systems Symposium, pages 288-297, December 1995. Google ScholarDigital Library
- 7.J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach, Second Edition. Morgan Kaufmann Publishers, Inc., 1996. ISBN 1- 55860-329-8. Google ScholarDigital Library
- 8.Y. Hur, Y. H. Bae, S.-S. Lim, S.-K. Kim, B.-D. Rhee, S. L. Min, C. Y. Park, M. Lee, H. Shin, and C. S. Kim. Worst case timing analysis of RISC processors: R3000/R3010 case study. In Proceedings of 16th IEEE Real-Time Systems Symposium, pages 308-319, December 1995. Google ScholarDigital Library
- 9.A. R. Lebeck and D. A. Wood. Cache Profiling and the SPEC Benchmarks: A Case Study. IEEE Computer, pages 15-26, Oct. 1994. Google ScholarDigital Library
- 10.C.-G. Lee, J. Hahn, Y.-M. Seo, S. L. Min, R. Ha, S. Hong, C. Y. Park, M. Lee, and C. S. Kim. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. In Proceedings of the IEEE Real- Time Systems Symposium, pages 264-274, December 1996. Google ScholarDigital Library
- 11.Y.-T. S. Li. P~fo~,~~ A~O,~, of E,~b~dd~d Software. PhD thesis, Princeton University, 1997. In preparation.Google Scholar
- 12.Y.-T. S. Li, S. Malik, and A. Wolfe. Efficient microarchitecture modeling and path analysis for real-time software. In Proceedings of 16th IEEE Real-Time Systems Symposium, pages 298-307, December 1995. Google ScholarDigital Library
- 13.Y.-T. S. Li, S. Malik, and A. Wolfe. Cache modeling for real-time software: Beyond direct mapped instruction caches. In Proceedings of 17th IEEE Real-Time Systems Symposium, pages 254-263, December 1996. Google ScholarDigital Library
- 14.M. Martonosi, A. Gupta, and T. Anderson. Tuning Memory Performance in Sequential and Parallel Programs. IEEE Computer, pages 32-40, Apr. 1995. Google ScholarDigital Library
- 15.A. K. Mok, P. Amerasinghe, M. Chen, and K. Tantisirivat. Evaluating tight execution time bounds of programs by annotations. In Proceedings of the 6th IEEE Workshop on Real-Time Operating Systems and Software, pages 74-80, May 1989.Google Scholar
- 16.T. C. Mowry, M. S. Lam, and A. Gupta. Design and Evaluation of a Compiler Algorithm for Prefetching. In Proc. Fifth Intl. Conf. on Architectural Support for Programming Languages and Operating Systems (ASP- LOS), pages 62-73, Oct. 1992. Google ScholarDigital Library
- 17.K. Narasimhan and K. Nilsen. Portable execution time analysis for RISC processors. In Proceedings of ACM PLDI Workshop on Language, Compiler, and Tool Support for Real-Time Systems, pages L1-L10, June 1994.Google Scholar
- 18.C. Y. Park. Predicting Deterministic Execution Times of Real-Time Programs. PhD thesis, University of Washington, Seattle 98195, August 1992. Google ScholarDigital Library
- 19.P. Puschner and C. Koza. Calculating the maximum execution time of real-time programs. The Journal of Real-Time Systems, 1(2):160-176, September 1989. Google ScholarDigital Library
- 20.K. Ramamritham, J. A. Stankovic, and P.-F. Shiah. Efficient scheduling algorithms for real-time multiprocessor systems. IEEE Transactions on Parallel and Distributed Systems, pages 184-194, April 1990. Google ScholarDigital Library
- 21.V. Rustagi and D. B. Whalley. Calculating minimum and maximum loop iterations. Technical report, Computer Science Department, Florida State University, May 1994.Google Scholar
- 22.L. Sha, R. Rajkumar, and S. S. Sathaye. Generalized rate-monotonic scheduling theory: A framework for developing real-time systems. In Proceedings of the IEEE, pages 68-82, January 1994.Google Scholar
- 23.A. C. Shaw. Reasoning about time in higher-level language software. IEEE Transactions on Software Engineering, 15(7):875-889, July 1989. Google ScholarDigital Library
- 24.K. G. Shin and P. Ramanathan. Real-time computing: A new discipline of computer science and engineering. In Proceedings of the IEEE, pages 6-24, January 1994.Google ScholarCross Ref
- 25.M. E. Wolf and M. S. Lam. A Data Locality Optimization Algorithm. In Proc. SIGPLAN ~91 Conf. on Programming Language Design and Implementation, pages 30-44, June 1991. Google ScholarDigital Library
- 26.D. A. Wood, M. D. Hill, and R. E. Kessler. A Model for Estimating Trace-Sample Miss Ratios. In Proc. ACM SIGMETRICS Conf. on Measurement and Modeling of Computer Systems, pages 79-89, June 1991. Google ScholarDigital Library
- 27.N. Zhang, A. Burns, and M. Nicholson. Pipelined processors and worst-case execution times. Journal of Real- Time Systems, October 1993. Google ScholarDigital Library
Index Terms
- Static timing analysis of embedded software
Recommendations
Static program analysis of embedded executable assembly code
CASES '04: Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systemsWe consider the problem of automatically checking if coding standards have been followed in the development of embedded applications. The problem arises from practical considerations because DSP chip manufacturers (in our case Texas Instruments) want ...
SVF: interprocedural static value-flow analysis in LLVM
CC 2016: Proceedings of the 25th International Conference on Compiler ConstructionThis paper presents SVF, a tool that enables scalable and precise interprocedural Static Value-Flow analysis for C programs by leveraging recent advances in sparse analysis. SVF, which is fully implemented in LLVM, allows value-flow construction and ...
Comments