skip to main content
10.1145/1926385.1926398acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Static analysis of interrupt-driven programs synchronized via the priority ceiling protocol

Authors Info & Claims
Published:26 January 2011Publication History

ABSTRACT

We consider programs for embedded real-time systems which use priority-driven preemptive scheduling with task priorities adjusted dynamically according to the immediate ceiling priority protocol. For these programs, we provide static analyses for detecting data races between tasks running at different priorities as well as methods to guarantee transactional execution of procedures. Beyond that, we demonstrate how general techniques for value analyses can be adapted to this setting by developing a precise analysis of affine equalities.

Skip Supplemental Material Section

Supplemental Material

10-mpeg-4.mp4

mp4

357.2 MB

References

  1. C. Artho, K. Havelund, and A. Biere. Using block-local atomicity to detect stale-value concurrency errors. In ATVA'04, vol. 3299 of LNCS, pp. 150--164. Springer, 2004.Google ScholarGoogle Scholar
  2. M. F. Atig, A. Bouajjani, and T. Touili. Analyzing asynchronous programs with preemption. In FSTTCS'08, vol. 2 of LIPIcs, pp. 37--48. Schloss Dagstuhl, 2008.Google ScholarGoogle Scholar
  3. Autosar consortium. Autosar Architecture Specification, Release 4.0, 2009. URL http://www.autosar.org/.Google ScholarGoogle Scholar
  4. T. P. Baker. Stack-based scheduling of realtime processes. Real-Time Systems, 3(1):67--99, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Bouajjani, M. Müller-Olm, and T. Touili. Regular symbolic analysis of dynamic networks of pushdown systems. In CONCUR'05, vol. 3653 of LNCS, pp. 473--487. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Cousot and R. Cousot. Comparing the Galois connection and widening/narrowing approaches to abstract interpretation, invited paper. In PLILP'92, pp. 269--295. Springer, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Dutertre. Formal analysis of the priority ceiling protocol. In RTSS'00, pp. 151--160. IEEE Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Esparza and A. Podelski. Efficient algorithms for pre* and post* on interprocedural parallel flow graphs. In POPL'00, pp. 1--11. ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. Fecht and H. Seidl. A Faster Solver for General Systems of Equations. Sci. Comput. Programming, 35(2):137--161, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Flanagan, S. N. Freund, S. Qadeer, and S. A. Seshia. Modular verification of multithreaded programs. Theoretical Comput. Sci., 338 (1--3):153--183, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Flanagan, S. N. Freund, M. Lifshin, and S. Qadeer. Types for atomicity: Static checking and inference for java. ACM Trans. Prog. Lang. Syst., 30(4):1--53, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. S. Hecht. Flow Analysis of Computer Programs. Elsevier, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. Henties, J. J. Hunt, D. Locke, K. Nilsen,M. Schoeberl, and J. Vitek. Java for safety-critical applications. In SafeCert'09, ENTCS. Elsevier, 2010.Google ScholarGoogle Scholar
  14. V. Kahlon and A. Gupta. On the analysis of interacting pushdown systems. In POPL'07, pp. 303--314. ACM Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. V. Kahlon, F. Ivančić, and A. Gupta. Reasoning about threads communicating via locks. In CAV'05, vol. 3576 of LNCS, pp. 505--518. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. V. Kahlon, Y. Yang, S. Sankaranarayanan, and A. Gupta. Fast and accurate static data-race detection for concurrent programs. In CAV'07, vol. 4590 of LNCS, pp. 226--239. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. N. Kidd, P. Lammich, T. Touili, and T. Reps. A decision procedure for detecting atomicity violations for communicating processes with locks. In SPIN'09, vol. 5578 of LNCS, pp. 125--142. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. N. Kidd, S. Jagannathan, and J. Vitek. One stack to run them all reducing concurrent analysis to sequential analysis under priority scheduling. In SPIN'10, vol. 6349 of LNCS, pp. 245--261. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. Lammich and M. Müller-Olm. Conflict analysis of programs with procedures, dynamic thread creation, and monitors. In SAS'08, vol. 5079 of LNCS, pp. 205--220. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. Lammich, M. Müller-Olm, and A. Wenner. Predecessor sets of dynamic pushdown networks with Tree-Regular constraints. In CAV'09, vol. 5643 of LNCS, pp. 525--539. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Müller-Olm and H. Seidl. Precise interprocedural analysis through linear algebra. In POPL'04, pp. 330--341. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. OSEK/VDX Group. OSEK/VDX Operating System Specification, Version 2.2.3, 2005. URL http://www.osek-vdx.org.Google ScholarGoogle Scholar
  23. M. Pilling, A. Burns, and K. Raymond. Formal specifications and proofs of inheritance protocols for real-time scheduling. Softw. Eng. J., 5(5):263--279, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. Ramalingam. Context-sensitive synchronization-sensitive analysis is undecidable. ACM Trans. Prog. Lang. Syst., 22(2):416--430, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Regehr and N. Cooprider. Interrupt verification via thread verification. ENTCS, 174(9):139--150, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Regehr, A. Reid, and K. Webb. Eliminating stack overflow by abstract interpretation. ACM Trans. Embedded Comput. Syst., 4(4): 751--778, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. L. Sha, R. Rajkumar, and J. P. Lehoczky. Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans. Comput., 39(9):1175--1185, Sept. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Sharir and A. Pnueli. Two approaches to interprocedural data flow analysis. Program Flow Analysis: Theory and Applications, pp. 189--234, 1981.Google ScholarGoogle Scholar
  29. Takashi Chikamasa et al. OSEK platform for LEGO MINDSTORMS 2010. URL http://lejos-osek.sourceforge.net/.Google ScholarGoogle Scholar
  30. M. Vaziri, F. Tip, and J. Dolby. Associating synchronization constraints with data in an object-oriented language. In POPL'06, pp. 334--345. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. V. Vojdani and V. Vene. Goblint: Path-sensitive data race analysis. Annales Univ. Sci. Budapest., Sect. Comp., 30:141--155, 2009.Google ScholarGoogle Scholar

Index Terms

  1. Static analysis of interrupt-driven programs synchronized via the priority ceiling protocol

                  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
                  • Published in

                    cover image ACM Conferences
                    POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
                    January 2011
                    652 pages
                    ISBN:9781450304900
                    DOI:10.1145/1926385
                    • cover image ACM SIGPLAN Notices
                      ACM SIGPLAN Notices  Volume 46, Issue 1
                      POPL '11
                      January 2011
                      624 pages
                      ISSN:0362-1340
                      EISSN:1558-1160
                      DOI:10.1145/1925844
                      Issue’s Table of Contents

                    Copyright © 2011 ACM

                    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: 26 January 2011

                    Permissions

                    Request permissions about this article.

                    Request Permissions

                    Check for updates

                    Qualifiers

                    • research-article

                    Acceptance Rates

                    Overall Acceptance Rate824of4,130submissions,20%

                    Upcoming Conference

                    POPL '25

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader