{"author":[{"id":"320FC952-F248-11E8-B48F-1D18A9856A87","orcid":"0000-0001-7745-9117","last_name":"Kragl","first_name":"Bernhard","full_name":"Kragl, Bernhard"},{"last_name":"Qadeer","first_name":"Shaz","full_name":"Qadeer, Shaz"}],"external_id":{"isi":["000491481600005"]},"has_accepted_license":"1","date_updated":"2023-09-13T08:45:09Z","user_id":"c635000d-4b10-11ee-a964-aac5a93f6ac1","_id":"160","year":"2018","doi":"10.1007/978-3-319-96145-3_5","quality_controlled":"1","alternative_title":["LNCS"],"isi":1,"publication_status":"published","scopus_import":"1","ddc":["000"],"volume":10981,"citation":{"apa":"Kragl, B., & Qadeer, S. (2018). Layered Concurrent Programs (Vol. 10981, pp. 79–102). Presented at the CAV: Computer Aided Verification, Oxford, UK: Springer. https://doi.org/10.1007/978-3-319-96145-3_5","chicago":"Kragl, Bernhard, and Shaz Qadeer. “Layered Concurrent Programs,” 10981:79–102. Springer, 2018. https://doi.org/10.1007/978-3-319-96145-3_5.","ama":"Kragl B, Qadeer S. Layered Concurrent Programs. In: Vol 10981. Springer; 2018:79-102. doi:10.1007/978-3-319-96145-3_5","short":"B. Kragl, S. Qadeer, in:, Springer, 2018, pp. 79–102.","ieee":"B. Kragl and S. Qadeer, “Layered Concurrent Programs,” presented at the CAV: Computer Aided Verification, Oxford, UK, 2018, vol. 10981, pp. 79–102.","ista":"Kragl B, Qadeer S. 2018. Layered Concurrent Programs. CAV: Computer Aided Verification, LNCS, vol. 10981, 79–102.","mla":"Kragl, Bernhard, and Shaz Qadeer. Layered Concurrent Programs. Vol. 10981, Springer, 2018, pp. 79–102, doi:10.1007/978-3-319-96145-3_5."},"month":"07","related_material":{"record":[{"relation":"dissertation_contains","status":"public","id":"8332"}]},"status":"public","file_date_updated":"2020-07-14T12:45:04Z","language":[{"iso":"eng"}],"date_created":"2018-12-11T11:44:57Z","title":"Layered Concurrent Programs","article_processing_charge":"No","page":"79 - 102","day":"18","project":[{"call_identifier":"FWF","name":"The Wittgenstein Prize","grant_number":"Z211","_id":"25F42A32-B435-11E9-9278-68D0E5697425"},{"name":"Rigorous Systems Engineering","_id":"25832EC2-B435-11E9-9278-68D0E5697425","grant_number":"S 11407_N23","call_identifier":"FWF"}],"intvolume":" 10981","publist_id":"7761","type":"conference","tmp":{"legal_code_url":"https://creativecommons.org/licenses/by/4.0/legalcode","image":"/images/cc_by.png","short":"CC BY (4.0)","name":"Creative Commons Attribution 4.0 International Public License (CC-BY 4.0)"},"file":[{"date_updated":"2020-07-14T12:45:04Z","date_created":"2018-12-17T12:52:12Z","file_size":1603844,"checksum":"c64fff560fe5a7532ec10626ad1c215e","creator":"dernst","file_name":"2018_LNCS_Kragl.pdf","relation":"main_file","content_type":"application/pdf","file_id":"5705","access_level":"open_access"}],"publisher":"Springer","department":[{"_id":"ToHe"}],"abstract":[{"lang":"eng","text":"We present layered concurrent programs, a compact and expressive notation for specifying refinement proofs of concurrent programs. A layered concurrent program specifies a sequence of connected concurrent programs, from most concrete to most abstract, such that common parts of different programs are written exactly once. These programs are expressed in the ordinary syntax of imperative concurrent programs using gated atomic actions, sequencing, choice, and (recursive) procedure calls. Each concurrent program is automatically extracted from the layered program. We reduce refinement to the safety of a sequence of concurrent checker programs, one each to justify the connection between every two consecutive concurrent programs. These checker programs are also automatically extracted from the layered program. Layered concurrent programs have been implemented in the CIVL verifier which has been successfully used for the verification of several complex concurrent programs."}],"oa":1,"oa_version":"Published Version","date_published":"2018-07-18T00:00:00Z","conference":{"location":"Oxford, UK","start_date":"2018-07-14","end_date":"2018-07-17","name":"CAV: Computer Aided Verification"}}