<?xml version="1.0" encoding="UTF-8"?>

<modsCollection xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-3.xsd">
<mods version="3.3">

<genre>conference paper</genre>

<titleInfo><title>From non-preemptive to preemptive scheduling using synchronization synthesis</title></titleInfo>

  
  
<titleInfo type="alternative">
  
  <title>LNCS</title>
</titleInfo>

<note type="publicationStatus">published</note>


<note type="qualityControlled">yes</note>

<name type="personal">
  <namePart type="given">Pavol</namePart>
  <namePart type="family">Cerny</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">4DCBEFFE-F248-11E8-B48F-1D18A9856A87</identifier></name>
<name type="personal">
  <namePart type="given">Edmund</namePart>
  <namePart type="family">Clarke</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Thomas A</namePart>
  <namePart type="family">Henzinger</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">40876CD8-F248-11E8-B48F-1D18A9856A87</identifier><description xsi:type="identifierDefinition" type="orcid">0000−0002−2985−7724</description></name>
<name type="personal">
  <namePart type="given">Arjun</namePart>
  <namePart type="family">Radhakrishna</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">3B51CAC4-F248-11E8-B48F-1D18A9856A87</identifier></name>
<name type="personal">
  <namePart type="given">Leonid</namePart>
  <namePart type="family">Ryzhyk</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Roopsha</namePart>
  <namePart type="family">Samanta</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">3D2AAC08-F248-11E8-B48F-1D18A9856A87</identifier></name>
<name type="personal">
  <namePart type="given">Thorsten</namePart>
  <namePart type="family">Tarrach</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">3D6E8F2C-F248-11E8-B48F-1D18A9856A87</identifier><description xsi:type="identifierDefinition" type="orcid">0000-0003-4409-8487</description></name>







<name type="corporate">
  <namePart></namePart>
  <identifier type="local">ToHe</identifier>
  <role>
    <roleTerm type="text">department</roleTerm>
  </role>
</name>



<name type="conference">
  <namePart>CAV: Computer Aided Verification</namePart>
</name>



<name type="corporate">
  <namePart>Quantitative Reactive Modeling</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>
<name type="corporate">
  <namePart>Formal methods for the design and analysis of complex systems</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>
<name type="corporate">
  <namePart>Rigorous Systems Engineering</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>



<abstract lang="eng">We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program works even with a preemptive scheduler. The correctness specification is implicit, inferred from the non-preemptive behavior. Let us consider sequences of calls that the program makes to an external interface. The specification requires that any such sequence produced under a preemptive scheduler should be included in the set of such sequences produced under a non-preemptive scheduler. The solution is based on a finitary abstraction, an algorithm for bounded language inclusion modulo an independence relation, and rules for inserting synchronization. We apply the approach to device-driver programming, where the driver threads call the software interface of the device and the API provided by the operating system. Our experiments demonstrate that our synthesis method is precise and efficient, and, since it does not require explicit specifications, is more practical than the conventional approach based on user-provided assertions.</abstract>

<relatedItem type="constituent">
  <location>
    <url displayLabel="IST-2015-336-v1+1_long_version.pdf">https://research-explorer.ista.ac.at/download/1729/4715/IST-2015-336-v1+1_long_version.pdf</url>
  </location>
  <physicalDescription><internetMediaType>application/pdf</internetMediaType></physicalDescription><accessCondition type="restrictionOnAccess">no</accessCondition>
</relatedItem>
<originInfo><publisher>Springer</publisher><dateIssued encoding="w3cdtf">2015</dateIssued><place><placeTerm type="text">San Francisco, CA, United States</placeTerm></place>
</originInfo>
<language><languageTerm authority="iso639-2b" type="code">eng</languageTerm>
</language>



<relatedItem type="host">
  <identifier type="ISI">000491470400011</identifier><identifier type="doi">10.1007/978-3-319-21668-3_11</identifier>
<part><detail type="volume"><number>9207</number></detail><extent unit="pages">180 - 197</extent>
</part>
</relatedItem>
<relatedItem type="Supplementary material">
  <location>     <url>https://research-explorer.ista.ac.at/record/1130</url>     <url>https://research-explorer.ista.ac.at/record/1338</url>  </location>
</relatedItem>

<extension>
<bibliographicCitation>
<short>P. Cerny, E. Clarke, T.A. Henzinger, A. Radhakrishna, L. Ryzhyk, R. Samanta, T. Tarrach, 9207 (2015) 180–197.</short>
<ama>Cerny P, Clarke E, Henzinger TA, et al. From non-preemptive to preemptive scheduling using synchronization synthesis. 2015;9207:180-197. doi:&lt;a href=&quot;https://doi.org/10.1007/978-3-319-21668-3_11&quot;&gt;10.1007/978-3-319-21668-3_11&lt;/a&gt;</ama>
<chicago>Cerny, Pavol, Edmund Clarke, Thomas A Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Roopsha Samanta, and Thorsten Tarrach. “From Non-Preemptive to Preemptive Scheduling Using Synchronization Synthesis.” Lecture Notes in Computer Science. Springer, 2015. &lt;a href=&quot;https://doi.org/10.1007/978-3-319-21668-3_11&quot;&gt;https://doi.org/10.1007/978-3-319-21668-3_11&lt;/a&gt;.</chicago>
<ieee>P. Cerny &lt;i&gt;et al.&lt;/i&gt;, “From non-preemptive to preemptive scheduling using synchronization synthesis,” vol. 9207. Springer, pp. 180–197, 2015.</ieee>
<mla>Cerny, Pavol, et al. &lt;i&gt;From Non-Preemptive to Preemptive Scheduling Using Synchronization Synthesis&lt;/i&gt;. Vol. 9207, Springer, 2015, pp. 180–97, doi:&lt;a href=&quot;https://doi.org/10.1007/978-3-319-21668-3_11&quot;&gt;10.1007/978-3-319-21668-3_11&lt;/a&gt;.</mla>
<apa>Cerny, P., Clarke, E., Henzinger, T. A., Radhakrishna, A., Ryzhyk, L., Samanta, R., &amp;#38; Tarrach, T. (2015). From non-preemptive to preemptive scheduling using synchronization synthesis. Presented at the CAV: Computer Aided Verification, San Francisco, CA, United States: Springer. &lt;a href=&quot;https://doi.org/10.1007/978-3-319-21668-3_11&quot;&gt;https://doi.org/10.1007/978-3-319-21668-3_11&lt;/a&gt;</apa>
<ista>Cerny P, Clarke E, Henzinger TA, Radhakrishna A, Ryzhyk L, Samanta R, Tarrach T. 2015. From non-preemptive to preemptive scheduling using synchronization synthesis. 9207, 180–197.</ista>
</bibliographicCitation>
</extension>
<recordInfo><recordIdentifier>1729</recordIdentifier><recordCreationDate encoding="w3cdtf">2018-12-11T11:53:42Z</recordCreationDate><recordChangeDate encoding="w3cdtf">2025-09-23T08:54:01Z</recordChangeDate>
</recordInfo>
</mods>
</modsCollection>
