Timing Analysis of Event-Driven Programs with Directed Testing

Authors Mahdi Eslamimehr, Hesam Samimi



PDF
Thumbnail PDF

File

OASIcs.WCET.2015.21.pdf
  • Filesize: 441 kB
  • 11 pages

Document Identifiers

Author Details

Mahdi Eslamimehr
Hesam Samimi

Cite AsGet BibTex

Mahdi Eslamimehr and Hesam Samimi. Timing Analysis of Event-Driven Programs with Directed Testing. In 15th International Workshop on Worst-Case Execution Time Analysis (WCET 2015). Open Access Series in Informatics (OASIcs), Volume 47, pp. 21-31, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2015)
https://doi.org/10.4230/OASIcs.WCET.2015.21

Abstract

Accurately estimating the worst-case execution time (WCET) of real-time event-driven software is crucial. For example, NASA's study of unintended acceleration in Toyota vehicles highlights poor support in timing analysis for event-driven code, which could put human life in danger. WCET occurs during the longest possible execution path in a program. Static analysis produces safe but overestimated measurements. Dynamic analysis, on other hand, measures actual execution times of code under a test suite. Its performance depends on the branch coverage, which itself is sensitive to scheduling of events. Thus dynamic analysis often underestimates the WCET. We present a new dynamic approach called event-driven directed testing. Our approach combines aspects of prior random-testing techniques devised for event-driven code with the directed testing method applied to sequential code. The aim is to come up with complex event sequences and choices of parameters for individual events that might result in execution times closer to the true WCET. Our experiments show that, compared to random testing, genetic algorithms, and traditional directed testing, we achieve significantly better branch coverage and longer WCET.
Keywords
  • worst-case execution time
  • timing analysis
  • event-driven
  • directed testing

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Austrian Computer Society (OCG). Heuristic Worst-Case Execution Time Analysis. 10th European Workshop on Dependable Computing, 1999. Google Scholar
  2. Guillem Bernat, Antoine Colin, and Stefan M. Petters. WCET analysis of probabilistic hard real-time systems. In Proceedings of the 23rd IEEE Real-Time Systems Symposium, RTSS'02, pages 279-, Washington, DC, USA, 2002. IEEE Computer Society. Google Scholar
  3. Dennis Brylow and Jens Palsberg. Deadline analysis of interrupt-driven software. In Proceedings of the 9th European Software Engineering Conference Held Jointly with 11th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ESEC/FSE-11, pages 198-207, New York, NY, USA, 2003. ACM. Google Scholar
  4. Mahdi Eslamimehr and Jens Palsberg. Testing versus static analysis of maximum stack size. In Proceedings of the 2013 IEEE 37th Annual Computer Software and Applications Conference, COMPSAC'13, pages 619-626, Washington, DC, USA, 2013. IEEE Computer Society. Google Scholar
  5. Mahdi Eslamimehr and Jens Palsberg. Sherlock: Scalable deadlock detection for concurrent programs. In Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, pages 353-365, New York, NY, USA, 2014. ACM. Google Scholar
  6. Christian Ferdinand. aiT: Worst-case execution time prediction by static program analysis. In Building the Information Society, pages 377-383. Springer, 2004. Google Scholar
  7. Patrice Godefroid, Nils Klarlund, and Koushik Sen. Dart: Directed automated random testing. In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'05, pages 213-223, New York, NY, USA, 2005. ACM. Google Scholar
  8. Jan Gustafsson and Andreas Ermedahl. Automatic derivation of loop bounds and infeasible paths for WCET analysis using abstract execution. In Real-Time Systems Symposium, 2006. RTSS'06. 27th IEEE International, pages 57-66. IEEE, 2006. Google Scholar
  9. Jan Gustafsson, Andreas Ermedahl, and Björn Lisper. Towards a flow analysis for embedded system C programs. In Object-Oriented Real-Time Dependable Systems, 2005. WORDS 2005. 10th IEEE International Workshop on, pages 287-297. IEEE, 2005. Google Scholar
  10. Reinhold Heckmann. The influence of processor architecture on the design and the results of WCET tools. Proceedings of the IEEE, 91(7):1038-1054, 2003. Google Scholar
  11. Niklas Holsti, Thomas Langbacka, and Sami Saarinen. Using a worst-case execution time tool for real-time verification of the DEBIE software. EUROPEAN SPACE AGENCY-PUBLICATIONS-ESA SP, 457:307-312, 2000. Google Scholar
  12. M. Kirsch. Technical support to the national highway traffic safety administration (NHTSA) on the reported Toyota motor corporation (TMC) unintended acceleration (UA) investigation. Technical report, NASA, 2011. Google Scholar
  13. François Laburthe et al. Choco: implementing a CP kernel. In Proceedings of TRICS: Techniques foR Implementing Constraint programming Systems, a post-conference workshop of CP, volume 55, pages 71-85, 2000. Google Scholar
  14. Peter Puschner and Roman Nossal. Testing the results of static worst-case execution-time analysis. In Real-Time Systems Symposium, 1998. Proceedings., The 19th IEEE, pages 134-143. IEEE, 1998. Google Scholar
  15. Koushik Sen. Concolic testing. In Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering, ASE'07, pages 571-572, New York, NY, USA, 2007. ACM. Google Scholar
  16. Ben L. Titzer. Virgil: Objects on the head of a pin. In Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA'06, pages 191-208, New York, NY, USA, 2006. ACM. Google Scholar
  17. Ben L. Titzer, Daniel K. Lee, and Jens Palsberg. Avrora: Scalable sensor network simulation with precise timing. In Proceedings of the 4th International Symposium on Information Processing in Sensor Networks, IPSN'05, Piscataway, NJ, USA, 2005. IEEE Press. Google Scholar
  18. Reinhard Wilhelm, Jakob Engblom, and Andreas Ermedahl. The worst-case execution-time problem; overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst., 7(3):36:1-36:53, May 2008. Google Scholar
  19. Nicky Williams and Muriel Roger. Test generation strategies to measure worst-case execution time. In Automation of Software Test, 2009. AST'09. ICSE Workshop on, pages 88-96. IEEE, 2009. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail