Abstract
The Worst-Case Execution Time (WCET) is an important execution metric for real-time systems, and an accurate estimate for this increases the reliability of subsequent schedulability analysis. Performance enhancing features on modern processors, such as pipelines and caches, however, make it difficult to accurately predict the WCET. One technique for finding the WCET is to use test data generated using search algorithms. Existing work on search-based approaches has been successfully used in both industry and academia based on a single criterion function, the WCET, but only for simple processors. This paper investigates how effective this strategy is for more complex processors and to what extent other criteria help guide the search, e.g. the number of cache misses. Not unexpectedly the work shows no single choice of criteria work best across all problems. Based on the findings recommendations are proposed on which criteria are useful in particular situations.
Similar content being viewed by others
References
Bernat G, Colin A, Petters S (2002) WCET analysis of probabilistic hard real-time systems. In: Proceedings of 23rd IEEE real-time systems symposium, pp 279–288
Betts A, Bernat G, Kirner R, Puschner P, Wenzel I (2006) WCET coverage for pipelines, technical report for the ARTIST2 network of excellence, August
Brooks D, Tiwari V, Martonosi M (2000) WATTCH: a framework for architectural-level power analysis and optimizations. Proceedings of the conference on 27th international symposium on computer architecture, pp 83–94
Burger D, Austin T (1997) The Simplescalar tool set, version 2.0. SIGARCH Comput Archit News 25(3):13–25
Burns A, Wellings A (2001) Real-time systems and programming languages, 3rd edn. Addison Wesley, Harlow
Chapman R (1995) Static timing analysis and program proof, PhD thesis, University of York
Coello C (1999) A comprehensive survey of evolutionary-based multiobjective optimization techniques. Knowl Inf Syst 1(3):269–308
Emberson P, Bate I (2010) Stressing search with scenarios for flexible solutions to real-time task allocation problems. Trans Softw Eng, http://doi.ieeecomputersociety.org/10.1109/TSE.2009.58
Ermedahl A, Gustafsson J WCET project / benchmarks. Accessed: 5 May 2008. Available at: www.mrtc.mdh.se/projects/wcet/benchmarks.html
Groβ H (2000) Measuring evolutionary testability of real-time software. Ph.D. thesis, University of Glamorgan/Prifysgol
Harman M (2007) The current state and future of search based software engineering. In: Proceedings of the future of software engineering 2007, pp 342–357
Jolliffe, IT (2005) Principal component analysis, In: Everitt BS, Howell DC (eds) Encyclopedia of Statistics in Behavioral Science, Wiley, New York, 3, pp 1580–1584
Khan U, Bate I (2009) WCET analysis of modern processors using multi-criteria optimisation. Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE ’09), pp 103–112
Kim D, Ha S, Gupta R (2007) CATS: cycle accurate transaction-driven simulation with multiple processor simulators. Proceedings of the Conference on Design, Automation and Test in Europe (DATE), pp 749–754
Kirner R, Puschner P, Wenzel I (2004) Measurement-based worst-case execution time analysis using automatic test-data generation. In: Proceedings of the 4th euromicro workshop on worst case execution time analysis
Lammermann F, Baresel A, Wegener J (2008) Evaluating evolutionary testability for structure-oriented testing with software measurements. Appl Soft Comput 8(2):1018–1028
Lunqvist T, Stenstrom P (1999) Timing anomalies in dynamically scheduled microprocessors. In: Proceedings of the 20th IEEE real-time systems symposium, pp 12–21
McMinn P (2004) Search-based software test data generation: a survey. Softw Test Verif Reliab 14(2):105–156
Pohlheim H, Wegener J (1999) Testing the temporal behavior of real-time software modules using extended evolutionary algorithms. In: Proceedings of genetic and evolutionary computation conference
Tan L (2006) The worst case execution time tool challenge 2006: the external test, 2nd International Symposium on Leveraging Applications of formal methods, verification and validation (ISoLA 2006), pp 241–248
Tate J, Bate I (2010) Sensornet protocol tuning using principled engineering methods. Comput J, doi:10.1093/comjnl/bxp077
Tracey N, Clark J, Mander K (1998) The way forward for unifying dynamic test case generation: the optimisation-based approach. In: Proceedings of the international workshop on dependable computing and its applications
Wegener J, Mueller F (2001) A comparison of static analysis and evolutionary testing for the verification of timing constraints. Real Time Syst J 21(3):241–268
Wegener J, Sthamer H, Jones B, Eyres D (1997) Testing real-time systems using genetic algorithms. Softw Qual J 6(2):127–135
Whitley D (1994) A genetic algorithm tutorial. Stat Comput 4:65–85
Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner P, Staschulat J, Stenstrom P (2008) The worst-case execution time problem—overview of methods and survey of tools. ACM Trans Embedded Comput Syst 7(3):1–53
Author information
Authors and Affiliations
Corresponding author
Additional information
Editors: Massimiliano Di Penta and Simon Poulding
Rights and permissions
About this article
Cite this article
Bate, I., Khan, U. WCET analysis of modern processors using multi-criteria optimisation. Empir Software Eng 16, 5–28 (2011). https://doi.org/10.1007/s10664-010-9133-9
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-010-9133-9