skip to main content
research-article

Worst-case Execution Time Calculation for Query-based Monitors by Witness Generation

Published:18 October 2021Publication History
Skip Abstract Section

Abstract

Runtime monitoring plays a key role in the assurance of modern intelligent cyber-physical systems, which are frequently data-intensive and safety-critical. While graph queries can serve as an expressive yet formally precise specification language to capture the safety properties of interest, there are no timeliness guarantees for such auto-generated runtime monitoring programs, which prevents their use in a real-time setting. While worst-case execution time (WCET) bounds derived by existing static WCET estimation techniques are safe, they may not be tight as they are unable to exploit domain-specific (semantic) information about the input models. This article presents a semantic-aware WCET analysis method for data-driven monitoring programs derived from graph queries. The method incorporates results obtained from low-level timing analysis into the objective function of a modern graph solver. This allows the systematic generation of input graph models up to a specified size (referred to as witness models) for which the monitor is expected to take the most time to complete. Hence, the estimated execution time of the monitors on these graphs can be considered as safe and tight WCET. Additionally, we perform a set of experiments with query-based programs running on a real-time platform over a set of generated models to investigate the relationship between execution times and their estimates, and we compare WCET estimates produced by our approach with results from two well-known timing analyzers, aiT and OTAWA.

REFERENCES

  1. [1] Abdessalem Raja Ben, Panichella Annibale, Nejati Shiva, Briand Lionel C., and Stifter Thomas. 2018. Testing autonomous cars for feature interaction failures using many-objective search. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. 143154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] Abella Jaume et al. 2015. WCET analysis methods: Pitfalls and challenges on their trustworthiness. In Proceedings of the 10th IEEE International Symposium on Industrial Embedded Systems.3948. Google ScholarGoogle ScholarCross RefCross Ref
  3. [3] Ballabriga Clément, Cassé Hugues, Rochange Christine, and Sainrat Pascal. 2010. OTAWA: An open toolbox for adaptive WCET analysis. In LNCS. Vol. 6399. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Ballabriga Clément, Forget Julien, and Lipari Giuseppe. 2017. Symbolic WCET computation. ACM Trans. Embed. Comput. Syst. 17, 2 (2017). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Bartocci Ezio et al. 2018. Specification-based monitoring of cyber-physical systems: A survey on theory, tools and applications. In Lectures on Runtime Verification. Springer, 135175.Google ScholarGoogle ScholarCross RefCross Ref
  6. [6] Blair Gordon S., Bencomo Nelly, and France Robert B.. 2009. [email protected]. IEEE Comput. 42, 10 (2009), 2227. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Brottier Erwan, Fleurey Franck, Steel Jim, Baudry Benoit, and Traon Yves Le. 2006. Metamodel-based test generation for model transformations: an algorithm and a tool. In Proceedings of the 17th International Symposium on Software Reliability Engineering. 8594. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Búr Márton, Szilágyi Gábor, Vörös András, and Varró Dániel. 2018. Distributed graph queries for runtime monitoring of cyber-physical systems. In LNCS. Vol. 10802. 111128. Google ScholarGoogle Scholar
  9. [9] Burmester Sven, Giese Holger, Hirsch Martin, and Schilling Daniela. 2004. Incremental design and formal verification with UML/RT in the FUJABA real-time tool suite. In Proceedings of the International Workshop on Specification and Validation of UML Models for Real Time and Embedded Systems. Citeseer.Google ScholarGoogle Scholar
  10. [10] Burmester Sven, Giese Holger, Seibel Andreas, and Tichy Matthias. 2005. Worst-case execution time optimization of story patterns for hard real-time systems. In Proceedings of the 3rd International Fujaba Days Conference. 7178.Google ScholarGoogle Scholar
  11. [11] Cassé Hugues and Sainrat Pascal. 2006. OTAWA, a framework for experimenting WCET computations. In Proceedings of the 3rd European Congress on Embedded Real-time. 18.Google ScholarGoogle Scholar
  12. [12] Choi Kong-Rim and Kim Kyung-Chang. 1996. T*-tree: A main memory database index structure for real time applications. In Proceedings of the 3rd International Workshop on Real-time Computing Systems and Applications. 8188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Chu Duc Hiep and Jaffar Joxan. 2011. Symbolic simulation on complicated loops for WCET path analysis. In Proceedings of the 9th ACM International Conference on Embedded Software. IEEE, 319328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] Claire Maiza et al. 2017. The W-SEPT project: Towards semantic-aware WCET estimation. In Proceedings of the 17th International Workshop on Worst-case Execution Time Analysis (WCET’17), Vol. 57. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 9:1–9:13. Google ScholarGoogle Scholar
  15. [15] Colin Antoine and Bernat Guillem. 2002. Scope-tree: A program representation for symbolic worst-case execution time analysis. In Proceedings of the14th Euromicro Conference on Real-time Systems. IEEE, 5059. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Cucu-Grosjean L., Santinelli L., Houston M., Lo C., Vardanega T., Kosmidis L., Abella J., Mezzetti E., Quinones E., and Cazorla F. J.. 2012. Measurement-based probabilistic timing analysis for multi-path programs. In Proceedings of the 24th Euromicro Conference on Real-time Systems. 91101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Dou Wei, Bianculli Domenico, and Briand Lionel. 2018. Model-driven trace diagnostics for pattern-based temporal specifications. In Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. 278288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Drusinsky Doron. 2000. The temporal rover and the ATG rover. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) , Vol. 1885, 323330. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Emery Daniel. 2011. Headways on high speed lines. In Proceedings of the 9th World Congress on Railway Research. 2226.Google ScholarGoogle Scholar
  20. [20] Ermedahl Andreas, Sandberg Christer, Gustafsson Jan, Bygde Stefan, and Lisper Björn. 2007. Loop bound analysis based on a combination of program slicing, abstract interpretation, and invariant analysis. In Proceedings of the 7th International Workshop on Worst-case Execution Time Analysis (WCET’07). Schloss Dagstuhl-Leibniz-Zentrum für Informatik.Google ScholarGoogle Scholar
  21. [21] Ferdinand Christian and Heckmann Reinhold. 2004. aiT: Worst-case execution time prediction by static program analysis. In Building the Information Society, Jacquart Renè (Ed.). Springer US, Boston, MA, 377383. Google ScholarGoogle ScholarCross RefCross Ref
  22. [22] Fischer Thorsten, Niere Jörg, Torunski Lars, and Zündorf Albert. 1998. Story diagrams: A new graph rewrite language based on the unified modeling language and Java. In Proceedings of the International Workshop on Theory and Application of Graph Transformations. Springer, 296309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Fleurey Franck, Steel Jim, and Baudry Benoit. 2004. Validation in model-driven engineering: Testing model transformations. In Proceedings of the 1st International Workshop on Model, Design and Validation.2940.Google ScholarGoogle ScholarCross RefCross Ref
  24. [24] Gallagher Brian. 2006. Matching structure and semantics: A survey on graph-based pattern matching. AAAI FS 6 (2006), 4553.Google ScholarGoogle Scholar
  25. [25] Giese Holger, Tichy Matthias, Burmester Sven, Schäfer Wilhelm, and Flake Stephan. 2003. Towards the compositional verification of real-time UML designs. In Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering. 3847. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. [26] Gustafsson Jan, Ermedahl Andreas, Sandberg Christer, and Lisper Björn. 2006. Automatic derivation of loop bounds and infeasible paths for WCET analysis using abstract execution. In Proceedings of the Real-time Systems Symposium. 5766. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Hansen Jeffery, Hissam Scott, and Moreno Gabriel A.. 2009. Statistical-based wcet estimation and validation. In Proceedings of the 9th International Workshop on Worst-case Execution Time Analysis. Schloss Dagstuhl-Leibniz-Zentrum für Informatik.Google ScholarGoogle Scholar
  28. [28] Hartmann Thomas, Fouquet François, Moawad Assaad, Rouvoy Romain, and Traon Yves Le. 2019. GREYCAT: Efficient what-if analytics for data in motion at scale. Inf. Syst. 83 (2019), 101117.Google ScholarGoogle ScholarCross RefCross Ref
  29. [29] Havelund Klaus. 2015. Rule-based runtime verification revisited. Int. J. Softw. Tools Technol. Trans. 17, 2 (2015), 143170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Havelund Klaus and Rosu Grigore. 2002. Synthesizing monitors for safety properties. In LNCS. Vol. 2280. 342356. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Herter Jörg and Reineke Jan. 2009. Making dynamic memory allocation static to support WCET analysis. In Proceedings of the 9th International Workshop on Worst-case Execution Time Analysis (WCET’09).Google ScholarGoogle Scholar
  32. [32] Hou Wen-Chi, Ozsoyoglu Gultekin, and Taneja Baldeo K.. 1989. Processing aggregate relational queries with hard time constraints. SIGMOD Rec. Part F1301 (1989), 6877. DOI: 10.1145/67544.66933 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Jackson Ethan K., Simko Gabor, and Sztipanovits Janos. 2013. Diversely enumerating system-level architectures. In Proceedings of the ACM International Conference on Embedded Software. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Jantsch Axel, Dutt Nikil, and Rahmani Amir M.. 2017. Self-awareness in systems on chip—A survey. IEEE Design Test 34, 6 (2017), 826.Google ScholarGoogle ScholarCross RefCross Ref
  35. [35] Jürjens Jan. 2003. Developing safety-critical systems with UML. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 2863, 360372. Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Knoop Jens, Kovács Laura, and Zwirchmayr Jakob. 2013. WCET squeezing. ACM Press, 161.Google ScholarGoogle Scholar
  37. [37] Kozyrev V. P.. 2016. Estimation of the execution time in real-time systems. Prog. Comput. Softw. 42, 1 (2016), 4148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. [38] Law S. and Bate I.. 2016. Achieving appropriate test coverage for reliable measurement-based timing analysis. In Proceedings of the 28th Euromicro Conference on Real-time Systems (ECRTS’16). 189199.Google ScholarGoogle ScholarCross RefCross Ref
  39. [39] Li Xianfeng, Liang Yun, Mitra Tulika, and Roychoudhury Abhik. 2007. Chronos: A timing analyzer for embedded software. Sci. Comput. Prog. 69, 1–3 (2007), 5667. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Li Xiaocui, Zhou Zhangbing, Guo Junqi, Wang Shangguang, and Zhang Junsheng. 2019. Aggregated multi-attribute query processing in edge computing for industrial IoT applications. Comput. Netw. 151 (2019), 114123. Google ScholarGoogle ScholarCross RefCross Ref
  41. [41] Li Y.-T.S. and Malik Sharad. 1997. Performance analysis of embedded software using implicit path enumeration. IEEE Trans. Comput.-aid. Des. 16, 12 (1997), 14771487. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. [42] Lim Sung-Soo et al. 1995. An accurate worst case timing analysis for RISC processors. IEEE Trans. Softw. Eng. 21, 7 (1995), 593604. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. [43] Lisper Björn. 2014. SWEET–a tool for WCET flow analysis. In Proceedings of the International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Springer, 482485.Google ScholarGoogle Scholar
  44. [44] Martin Florian, Alt Martin, Wilhelm Reinhard, and Ferdinand Christian. 1998. Analysis of loops. In LNCS, Vol. 1383, 8094. Google ScholarGoogle ScholarCross RefCross Ref
  45. [45] Marussy Kristóf, Semeráth Oszkár, and Varró Dániel. 2020. Automated generation of consistent graph models with multiplicity reasoning. IEEE Trans. Softw. Eng. (2020). DOI: https://doi.org/10.1109/TSE.2020.3025732Google ScholarGoogle ScholarCross RefCross Ref
  46. [46] Chechik Marsha, Famelis Michais, and Salay Rick. 2012. Partial models: Towards modeling and reasoning with uncertainty. In Proceedings of the International Conference on Software Engineering. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Ozsoyoglu Gultekin and Snodgrass Richard T.. 1995. Temporal and real-time databases: A survey. IEEE Trans. Knowl. Data Eng. 7, 4 (1995). Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. [48] Pek Christian, Manzinger Stefanie, Koschi Markus, and Althoff Matthias. 2020. Using online verification to prevent autonomous vehicles from causing accidents. Nat. Mach. Intell. 2, 9 (2020), 518528. Google ScholarGoogle ScholarCross RefCross Ref
  49. [49] Pike Lee, Goodloe Alwyn, Morisset Robin, and Niller Sebastian. 2010. Copilot: A hard real-time runtime monitor. In LNCS, Vol. 6418, 345359. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. [50] Puschner Peter P. and Schedl Anton V.. 1997. Computing maximum task execution times—A graph-based approach. Real-time Syst. 13, 1 (1997), 6791. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. [51] Rierson Leanna. 2017. Developing Safety-critical Software. CRC Press, 22–27. Google ScholarGoogle ScholarCross RefCross Ref
  52. [52] Sagiv Mooly, Reps Thomas, and Wilhelm Reinhard. 2002. Parametric shape analysis via 3-valued logic. ACM Trans. Prog. Lang. Syst. 24, 3 (2002), 193298. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. [53] Salay Rick, Famelis Michalis, and Chechik Marsha. 2012. Language independent refinement using partial modeling. In FASE. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. [54] Semeráth Oszkár, Farkas Rebeka, Bergmann Gábor, and Varró Dániel. 2020. Diversity of graph models and graph generators in mutation testing. Int. J. Softw. Tools Technol. Transf. 22, 1 (2020), 5778.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Semeráth Oszkár, Nagy András Szabolcs, and Varró Dániel. 2018. A graph solver for the automated generation of consistent domain-specific models. In Proceedings of the 40th International Conference on Software Engineering. 969980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. [56] Szvetits Michael and Zdun Uwe. 2013. Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Softw. Syst. Model. 15, 1 (2013), 3169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. [57] Taina Juha and Raatikainen Kimmo. 1996. RODAIN: A real-time object-oriented database system for telecommunications. In Proceedings of the International Conference on Information and Knowledge Management.1014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. [58] Tavcar Joze and Horvath Imre. 2019. A review of the principles of designing smart cyber-physical systems for run-time adaptation: Learned lessons and open issues. IEEE Trans. Syst. Man Cybern. Syst. 49, 1 (2019), 145158. Google ScholarGoogle ScholarCross RefCross Ref
  59. [59] The Eclipse Project 2021. Eclipse Modeling Framework. Retrieved from http://www.eclipse.org/emf.Google ScholarGoogle Scholar
  60. [60] Tichy Matthias, Giese Holger, and Seibel Andreas. 2006. Story diagrams in real-time software. In Proceedings of the 4th International Fujaba Days Conference.Google ScholarGoogle Scholar
  61. [61] Varró Dániel, Semeráth Oszkár, Szárnyas Gábor, and Horváth Ákos. 2018. Towards the automated generation of consistent, diverse, scalable and realistic graph models. In Graph Transformation, Specifications, and Nets (In Memory of Hartmut Ehrig). Springer.Google ScholarGoogle Scholar
  62. [62] Varró Gergely, Deckwerth Frederik, Wieber Martin, and Schürr Andy. 2015. An algorithm for generating model-sensitive search plans for pattern matching on EMF models. Softw. Syst. Model. 14, 2 (2015), 597621. DOI: 10.1007/s10270-013-0372-2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. [63] Vörös András et al. 2018. MoDeS3: Model-based demonstrator for smart and safe cyber-physical systems. In NASA Formal Methods. Springer460467.Google ScholarGoogle ScholarCross RefCross Ref
  64. [64] Wenzel I., Kirner R., Rieder B., and Puschner P.. 2005. Measurement-based worst-case execution time analysis. In Proceedings of the 3rd IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems (SEUS’05). 710. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. [65] Wilhelm Reinhard et al. 2008. The worst-case execution-time problem-overview of methods and survey of tools. Trans. Embed. Comput. Syst. 7, 3 (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. [66] Xie Cheng, Yu Beibei, Zeng Zuoying, Yang Yun, and Liu Qing. 2021. Multilayer internet-of-things middleware based on knowledge graph. IEEE Internet Things J. 8, 4 (2021), 26352648.Google ScholarGoogle ScholarCross RefCross Ref
  67. [67] Zhu Haitao, Dwyer Matthew B., and Goddard Steve. 2009. Predictable runtime monitoring. In Proceedings of the Euromicro Conference on Real-time Systems. 173183. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Worst-case Execution Time Calculation for Query-based Monitors by Witness Generation

        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

        • Published in

          cover image ACM Transactions on Embedded Computing Systems
          ACM Transactions on Embedded Computing Systems  Volume 20, Issue 6
          November 2021
          256 pages
          ISSN:1539-9087
          EISSN:1558-3465
          DOI:10.1145/3485150
          • Editor:
          • Tulika Mitra
          Issue’s Table of Contents

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 18 October 2021
          • Revised: 1 May 2021
          • Accepted: 1 May 2021
          • Received: 1 November 2020
          Published in tecs Volume 20, Issue 6

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Refereed
        • Article Metrics

          • Downloads (Last 12 months)61
          • Downloads (Last 6 weeks)1

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Full Text

        View this article in Full Text.

        View Full Text

        HTML Format

        View this article in HTML Format .

        View HTML Format
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!