{"@context":["https://w3id.org/fdo/context/v1",{"schema":"https://schema.org/","prov":"http://www.w3.org/ns/prov#","fdo":"https://w3id.org/fdo/vocabulary/"}],"@id":"https://fdo.portal.mardi4nfdi.de/fdo/Q784156","@type":"DigitalObject","kernel":{"@id":"https://fdo.portal.mardi4nfdi.de/fdo/Q784156","digitalObjectType":"https://schema.org/ScholarlyArticle","primaryIdentifier":"mardi:Q784156","kernelVersion":"v1","immutable":true,"modified":"2026-02-17T15:01:04Z"},"profile":{"@context":"https://schema.org","@type":"ScholarlyArticle","@id":"https://portal.mardi4nfdi.de/entity/Q784156","name":"Practical abstractions for automated verification of shared-memory concurrency","headline":"Practical abstractions for automated verification of shared-memory concurrency","description":"scientific article; zbMATH DE number 7228517","url":"https://portal.mardi4nfdi.de/entity/Q784156","datePublished":"2020-08-05","author":[{"@id":"https://portal.mardi4nfdi.de/entity/Q784155"},{"@id":"https://portal.mardi4nfdi.de/entity/Q385022"},{"@id":"https://portal.mardi4nfdi.de/entity/Q225075"}],"identifier":{"@type":"PropertyValue","propertyID":"doi","value":"10.1007/978-3-030-39322-9_19","url":"https://doi.org/10.1007/978-3-030-39322-9_19"},"sameAs":["https://doi.org/10.1007/978-3-030-39322-9_19"]},"provenance":{"prov:generatedAtTime":"2026-02-17T15:01:04Z","prov:wasAttributedTo":"MaRDI Knowledge Graph"}}