{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,7,5]],"date-time":"2025-07-05T04:12:24Z","timestamp":1751688744535,"version":"3.41.0"},"publisher-location":"Cham","reference-count":41,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319924311"},{"type":"electronic","value":"9783319924328"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-92432-8_9","type":"book-chapter","created":{"date-parts":[[2018,5,25]],"date-time":"2018-05-25T03:08:18Z","timestamp":1527217698000},"page":"141-157","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Safe Parallelism: Compiler Analysis Techniques for Ada and OpenMP"],"prefix":"10.1007","author":[{"given":"Sara","family":"Royuela","sequence":"first","affiliation":[]},{"given":"Xavier","family":"Martorell","sequence":"additional","affiliation":[]},{"given":"Eduardo","family":"Qui\u00f1ones","sequence":"additional","affiliation":[]},{"given":"Luis Miguel","family":"Pinho","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2018,5,26]]},"reference":[{"key":"9_CR1","unstructured":"NVIDIA: Automotive (2017). https:\/\/www.nvidia.com\/en-us\/self-driving-cars"},{"key":"9_CR2","unstructured":"AdaCore: Automotive (2018). https:\/\/www.adacore.com\/industries\/automotive"},{"key":"9_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"91","DOI":"10.1007\/978-3-319-08311-7_8","volume-title":"Reliable Software Technologies \u2013 Ada-Europe 2014","author":"LM Pinho","year":"2014","unstructured":"Pinho, L.M., Moore, B., Michell, S.: Parallelism in Ada: status and prospects. In: George, L., Vardanega, T. (eds.) Ada-Europe 2014. LNCS, vol. 8454, pp. 91\u2013106. Springer, Cham (2014). https:\/\/doi.org\/10.1007\/978-3-319-08311-7_8"},{"issue":"3","key":"9_CR4","doi-asserted-by":"publisher","first-page":"87","DOI":"10.1145\/2692956.2663181","volume":"34","author":"ST Taft","year":"2014","unstructured":"Taft, S.T., Moore, B., Pinho, L.M., Michell, S.: Safe parallel programming in Ada with language extensions. ACM SIGAda Ada Lett. 34(3), 87\u201396 (2014)","journal-title":"ACM SIGAda Ada Lett."},{"key":"9_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"196","DOI":"10.1007\/978-3-319-19584-1_13","volume-title":"Reliable Software Technologies \u2013 Ada-Europe 2015","author":"LM Pinho","year":"2015","unstructured":"Pinho, L.M., Moore, B., Michell, S., Tucker Taft, S.: An execution model for fine-grained parallelism in Ada. In: de la Puente, J.A., Vardanega, T. (eds.) Ada-Europe 2015. LNCS, vol. 9111, pp. 196\u2013211. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-19584-1_13"},{"issue":"1","key":"9_CR6","doi-asserted-by":"publisher","first-page":"46","DOI":"10.1145\/2870544.2870551","volume":"35","author":"LM Pinho","year":"2015","unstructured":"Pinho, L.M., Moore, B., Michell, S., Taft, S.T.: Real-time fine-grained parallelism in Ada. ACM SIGAda Ada Lett. 35(1), 46\u201358 (2015)","journal-title":"ACM SIGAda Ada Lett."},{"issue":"1","key":"9_CR7","doi-asserted-by":"publisher","first-page":"9","DOI":"10.1145\/2971571.2971573","volume":"36","author":"T Taft","year":"2016","unstructured":"Taft, T., Moore, B., Pinho, L.M., Michell, S.: Reduction of parallel computation in the parallel model for Ada. ACM SIGAda Ada Lett. 36(1), 9\u201324 (2016)","journal-title":"ACM SIGAda Ada Lett."},{"key":"9_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"184","DOI":"10.1007\/978-3-319-60588-3_12","volume-title":"Reliable Software Technologies \u2013 Ada-Europe 2017","author":"S Royuela","year":"2017","unstructured":"Royuela, S., Martorell, X., Qui\u00f1ones, E., Pinho, L.M.: OpenMP tasking model for Ada: safety and correctness. In: Blieberger, J., Bader, M. (eds.) Ada-Europe 2017. LNCS, vol. 10300, pp. 184\u2013200. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-60588-3_12"},{"key":"9_CR9","doi-asserted-by":"crossref","unstructured":"Royuela, S., Pinho, L.M., Qui\u00f1ones, E.: Converging safety and high-performance domains: integrating OpenMP into Ada. In: Design, Automation & Test in Europe, March 2018","DOI":"10.23919\/DATE.2018.8342162"},{"key":"9_CR10","unstructured":"OpenMP Architecture Review Board: OpenMP Application Programming Interface 4.5 (2015). http:\/\/www.openmp.org\/wp-content\/uploads\/openmp-4.5.pdf"},{"key":"9_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1007\/978-3-319-65578-9_16","volume-title":"Scaling OpenMP for Exascale Performance and Portability","author":"S Royuela","year":"2017","unstructured":"Royuela, S., Duran, A., Serrano, M.A., Qui\u00f1ones, E., Martorell, X.: A functional safety OpenMP$$^{*}$$ for critical real-time embedded systems. In: de Supinski, B.R., Olivier, S.L., Terboven, C., Chapman, B.M., M\u00fcller, M.S. (eds.) IWOMP 2017. LNCS, vol. 10468, pp. 231\u2013245. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-65578-9_16"},{"key":"9_CR12","unstructured":"Ada Resource Association: Ada 95 Reference Manual. ISO\/IEC 8652:1995(E) with COR.1 (2000). http:\/\/www.adaic.org\/resources\/add_content\/standards\/95lrm\/RM.pdf"},{"key":"9_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"263","DOI":"10.1007\/BFb0055011","volume-title":"Reliable Software Technologies \u2014 Ada-Europe","author":"A Burns","year":"1998","unstructured":"Burns, A., Dobbing, B., Romanski, G.: The Ravenscar tasking profile for high integrity real-time programs. In: Asplund, L. (ed.) Ada-Europe 1998. LNCS, vol. 1411, pp. 263\u2013275. Springer, Heidelberg (1998). https:\/\/doi.org\/10.1007\/BFb0055011"},{"key":"9_CR14","volume-title":"High Integrity Software: The Spark Approach to Safety and Security: Sample Chapters","author":"JGP Barnes","year":"2003","unstructured":"Barnes, J.G.P.: High Integrity Software: The Spark Approach to Safety and Security: Sample Chapters. Pearson Education, London (2003)"},{"key":"9_CR15","doi-asserted-by":"crossref","unstructured":"Taft, S.T., Schanda, F., Moy, Y.: High-integrity multitasking in SPARK: static detection of data races and locking cycles. In: 17th International Symposium on High Assurance Systems Engineering, pp. 238\u2013239. IEEE (2016)","DOI":"10.1109\/HASE.2016.54"},{"key":"9_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1007\/978-3-642-38601-5_2","volume-title":"Reliable Software Technologies \u2013 Ada-Europe 2013","author":"S Michell","year":"2013","unstructured":"Michell, S., Moore, B., Pinho, L.M.: Tasklettes \u2013 a fine grained parallelism for Ada on multicores. In: Keller, H.B., Pl\u00f6dereder, E., Dencker, P., Klenk, H. (eds.) Ada-Europe 2013. LNCS, vol. 7896, pp. 17\u201334. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-38601-5_2"},{"key":"9_CR17","doi-asserted-by":"crossref","unstructured":"Serrano, M.A., Melani, A., Vargas, R., Marongiu, A., Bertogna, M., Qui\u00f1ones, E.: Timing characterization of OpenMP4 tasking model. In: International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pp. 157\u2013166. IEEE Press, October 2015","DOI":"10.1109\/CASES.2015.7324556"},{"key":"9_CR18","doi-asserted-by":"crossref","unstructured":"Serrano, M.A., Melani, A., Bertogna, M., Qui\u00f1ones, E.: Response-time analysis of DAG tasks under fixed priority scheduling with limited preemptions. In: Design, Automation & Test in Europe, pp. 1066\u20131071. IEEE, March 2016","DOI":"10.3850\/9783981537079_0150"},{"key":"9_CR19","doi-asserted-by":"crossref","unstructured":"Melani, A., Serrano, M.A., Bertogna, M., Cerutti, I., Qui\u00f1ones, E., Buttazzo, G.: A static scheduling approach to enable safety-critical OpenMP applications. In: 22nd Asia and South Pacific Design Automation Conference, pp. 659\u2013665. IEEE, January 2017","DOI":"10.1109\/ASPDAC.2017.7858399"},{"key":"9_CR20","doi-asserted-by":"crossref","unstructured":"Sun, J., Guan, N., Wang, Y., He, Q., Yi, W.: Scheduling and analysis of real-time OpenMP task systems with tied tasks. In: Proceedings of Real-Time Systems Symposium (2017)","DOI":"10.1109\/RTSS.2017.00016"},{"key":"9_CR21","doi-asserted-by":"crossref","unstructured":"Kroening, D., Poetzl, D., Schrammel, P., Wachter, B.: Sound static deadlock analysis for C\/Pthreads. In: 31st International Conference on Automated Software Engineering, pp. 379\u2013390. IEEE, September 2016","DOI":"10.1145\/2970276.2970309"},{"key":"9_CR22","doi-asserted-by":"crossref","unstructured":"Ma, H., Diersen, S.R., Wang, L., Liao, C., Quinlan, D., Yang, Z.: Symbolic analysis of concurrency errors in OpenMP programs. In: 42nd International Conference on Parallel Processing, pp. 510\u2013516. IEEE, October 2013","DOI":"10.1109\/ICPP.2013.63"},{"key":"9_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1007\/978-3-642-21487-5_4","volume-title":"OpenMP in the Petascale Era","author":"V Basupalli","year":"2011","unstructured":"Basupalli, V., Yuki, T., Rajopadhye, S., Morvan, A., Derrien, S., Quinton, P., Wonnacott, D.: ompVerify: polyhedral analysis for the OpenMP programmer. In: Chapman, B.M., Gropp, W.D., Kumaran, K., M\u00fcller, M.S. (eds.) IWOMP 2011. LNCS, vol. 6665, pp. 37\u201353. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-21487-5_4"},{"key":"9_CR24","doi-asserted-by":"crossref","unstructured":"Royuela, S., Ferrer, R., Caballero, D., Martorell, X.: Compiler analysis for OpenMP tasks correctness. In: 12th International Conference on Computing Frontiers, p. 7. ACM, May 2015","DOI":"10.1145\/2742854.2742882"},{"key":"9_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1007\/3-540-44947-7_12","volume-title":"Reliable Software Technologies \u2014 Ada-Europe 2003","author":"S Evangelista","year":"2003","unstructured":"Evangelista, S., Kaiser, C., Pradat-Peyre, J.-F., Rousseau, P.: Quasar: a new tool for concurrent Ada programs analysis. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 168\u2013181. Springer, Heidelberg (2003). https:\/\/doi.org\/10.1007\/3-540-44947-7_12"},{"key":"9_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"130","DOI":"10.1007\/978-3-540-68624-8_10","volume-title":"Reliable Software Technologies \u2013 Ada-Europe 2008","author":"R Fechete","year":"2008","unstructured":"Fechete, R., Kienesberger, G., Blieberger, J.: A framework for CFG-based static program analysis of Ada programs. In: Kordon, F., Vardanega, T. (eds.) Ada-Europe 2008. LNCS, vol. 5026, pp. 130\u2013143. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-68624-8_10"},{"issue":"1","key":"9_CR27","first-page":"29","volume":"6","author":"X Qi","year":"2005","unstructured":"Qi, X., Xu, B.: An approach to slicing concurrent Ada programs based on program reachability graphs. Int. J. Comput. Sci. Netw. Secur. 6(1), 29\u201337 (2005)","journal-title":"Int. J. Comput. Sci. Netw. Secur."},{"key":"9_CR28","doi-asserted-by":"crossref","unstructured":"Mohaqeqi, M., Abdullah, J., Guan, N., Yi, W.: Schedulability analysis of synchronous digraph real-time tasks. In: 28th Euromicro Conference on Real-Time Systems, pp. 176\u2013186. IEEE, July 2016","DOI":"10.1109\/ECRTS.2016.17"},{"issue":"1","key":"9_CR29","first-page":"37","volume":"38","author":"B Wang","year":"2017","unstructured":"Wang, B., Gao, H., Cheng, J.: Definition-use net and system dependence net generators for Ada 2012 programs and their applications. Ada User J. 38(1), 37\u201355 (2017)","journal-title":"Ada User J."},{"key":"9_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"105","DOI":"10.1007\/978-3-642-30598-6_8","volume-title":"Reliable Software Technologies \u2013 Ada-Europe 2012","author":"JM Faria","year":"2012","unstructured":"Faria, J.M., Martins, J., Pinto, J.S.: An approach to model checking Ada programs. In: Brorsson, M., Pinho, L.M. (eds.) Ada-Europe 2012. LNCS, vol. 7308, pp. 105\u2013118. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-30598-6_8"},{"issue":"5","key":"9_CR31","doi-asserted-by":"publisher","first-page":"279","DOI":"10.1109\/32.588521","volume":"23","author":"GJ Holzmann","year":"1997","unstructured":"Holzmann, G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279\u2013295 (1997)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"9_CR32","unstructured":"AdaCore, Altran, Astrium Space Transportation, CEA-LIST, ProVal at INRIA and Thales Communications: Project Hi-Lite: GNATprove (2017). http:\/\/www.open-do.org\/projects\/hi-lite\/gnatprove"},{"key":"9_CR33","unstructured":"GNU: GNAT (2016). https:\/\/www.gnu.org\/software\/gnat"},{"key":"9_CR34","volume-title":"Object-Oriented Software Construction","author":"B Meyer","year":"1988","unstructured":"Meyer, B.: Object-Oriented Software Construction, vol. 2. Prentice Hall, New York (1988)"},{"key":"9_CR35","unstructured":"Ada Resource Association: Ada Reference Manual, ISO\/IEC 8652:2012(E) (2012). http:\/\/archive.adaic.com\/standards\/83lrm\/html"},{"key":"9_CR36","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"29","DOI":"10.1007\/978-3-642-30961-8_3","volume-title":"OpenMP in a Heterogeneous World","author":"S Royuela","year":"2012","unstructured":"Royuela, S., Duran, A., Liao, C., Quinlan, D.J.: Auto-scoping for OpenMP tasks. In: Chapman, B.M., Massaioli, F., M\u00fcller, M.S., Rorro, M. (eds.) IWOMP 2012. LNCS, vol. 7312, pp. 29\u201343. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-30961-8_3"},{"key":"9_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"234","DOI":"10.1007\/978-3-642-37658-0_16","volume-title":"Languages and Compilers for Parallel Computing","author":"S Royuela","year":"2013","unstructured":"Royuela, S., Duran, A., Martorell, X.: Compiler automatic discovery of OmpSs task dependencies. In: Kasahara, H., Kimura, K. (eds.) LCPC 2012. LNCS, vol. 7760, pp. 234\u2013248. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-37658-0_16"},{"issue":"2","key":"9_CR38","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/997119.997120","volume":"24","author":"A Burns","year":"2004","unstructured":"Burns, A., Dobbing, B., Vardanega, T.: Guide for the use of the Ada Ravenscar Profile in high integrity systems. ACM SIGAda Ada Lett. 24(2), 1\u201374 (2004)","journal-title":"ACM SIGAda Ada Lett."},{"issue":"1","key":"9_CR39","doi-asserted-by":"publisher","first-page":"73","DOI":"10.1007\/BF01245300","volume":"6","author":"A Burns","year":"1994","unstructured":"Burns, A., Wellings, A.J.: HRT-HOOD: a structured design method for hard real-time systems. Real-Time Syst. 6(1), 73\u2013114 (1994)","journal-title":"Real-Time Syst."},{"issue":"02","key":"9_CR40","doi-asserted-by":"publisher","first-page":"173","DOI":"10.1142\/S0129626411000151","volume":"21","author":"A Duran","year":"2011","unstructured":"Duran, A., Ayguad\u00e9, E., Badia, R.M., Labarta, J., Martinell, L., Martorell, X., Planas, J.: OmpSs: a proposal for programming heterogeneous multi-core architectures. Parallel Process. Lett. 21(02), 173\u2013193 (2011)","journal-title":"Parallel Process. Lett."},{"key":"9_CR41","doi-asserted-by":"crossref","unstructured":"Lippe, E., van Oosterom, N.: Operation-based merging. In: Proceedings of the Fifth ACM SIGSOFT Symposium on Software Development Environments, SDE 5, pp. 78\u201387. ACM, New York (1992)","DOI":"10.1145\/142882.143753"}],"container-title":["Lecture Notes in Computer Science","Reliable Software Technologies \u2013 Ada-Europe 2018"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-92432-8_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,4]],"date-time":"2025-07-04T19:11:52Z","timestamp":1751656312000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-92432-8_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319924311","9783319924328"],"references-count":41,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-92432-8_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"26 May 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"Ada-Europe","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Ada-Europe International Conference on Reliable Software Technologies","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Lisbon","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18 June 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 June 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"23","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"adaeurope2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/ae2018.di.fc.ul.pt\/index.html","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}