On the verification of SCOOP programs

dc.contributor.authorCaltais, Georgiana
dc.contributor.authorMeyer, Bertrand
dc.date.accessioned2017-02-28T16:30:59Z
dc.date.available2017-02-28T16:30:59Z
dc.date.issued2017-01eng
dc.description.abstractIn this paper we focus on the development of a unifying framework for the formal modeling of an object oriented-programming language, its underlying concurrency model and their associated analysis tools. More precisely, we target SCOOP – an elegant concurrency model, recently formalized based on Rewriting Logic (RL) and Maude. SCOOP is implemented in Eiffel and its applicability is demonstrated also from a practical perspective, in the area of robotics programming. Our contribution consists of devising and integrating an alias analyzer and a Coffman deadlock detector under the roof of the same RL-based semantic framework of SCOOP. This enables using the Maude rewriting engine and its LTL model-checker “for free,” in order to perform the analyses of interest. We discuss the limitations of our approach for model-checking deadlocks and provide possible workarounds for the state space explosion problem. On the aliasing side, we propose an extension of a previously introduced alias calculus based on program expressions, to the setting of unbounded program executions. Moreover, we devise a corresponding executable specification easily implementable on top of the SCOOP formalization. An important property of our extension is that, in non-concurrent settings, the corresponding alias expressions can be over-approximated in terms of a notion of regular expressions. This further enables us to derive an algorithm for computing a sound over-approximation of the “may aliasing” information, where soundness stands for the lack of false negatives.eng
dc.description.versionpublishedeng
dc.identifier.doi10.1016/j.scico.2016.08.005eng
dc.identifier.ppn166805552X
dc.identifier.urihttps://kops.uni-konstanz.de/handle/123456789/37783
dc.language.isoengeng
dc.rightsterms-of-use
dc.rights.urihttps://rightsstatements.org/page/InC/1.0/
dc.subjectSCOOP; Operational semantics; Alias analysis; Deadlock detection; Rewriting logiceng
dc.subject.ddc004eng
dc.titleOn the verification of SCOOP programseng
dc.typeJOURNAL_ARTICLEeng
dspace.entity.typePublication
kops.citation.bibtex
@article{Caltais2017-01verif-37783,
  year={2017},
  doi={10.1016/j.scico.2016.08.005},
  title={On the verification of SCOOP programs},
  number={2},
  volume={133},
  issn={0167-6423},
  journal={Science of Computer Programming},
  pages={194--215},
  author={Caltais, Georgiana and Meyer, Bertrand}
}
kops.citation.iso690CALTAIS, Georgiana, Bertrand MEYER, 2017. On the verification of SCOOP programs. In: Science of Computer Programming. 2017, 133(2), pp. 194-215. ISSN 0167-6423. eISSN 1872-7964. Available under: doi: 10.1016/j.scico.2016.08.005deu
kops.citation.iso690CALTAIS, Georgiana, Bertrand MEYER, 2017. On the verification of SCOOP programs. In: Science of Computer Programming. 2017, 133(2), pp. 194-215. ISSN 0167-6423. eISSN 1872-7964. Available under: doi: 10.1016/j.scico.2016.08.005eng
kops.citation.rdf
<rdf:RDF
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:bibo="http://purl.org/ontology/bibo/"
    xmlns:dspace="http://digital-repositories.org/ontologies/dspace/0.1.0#"
    xmlns:foaf="http://xmlns.com/foaf/0.1/"
    xmlns:void="http://rdfs.org/ns/void#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#" > 
  <rdf:Description rdf:about="https://kops.uni-konstanz.de/server/rdf/resource/123456789/37783">
    <dc:creator>Meyer, Bertrand</dc:creator>
    <dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2017-02-28T16:30:59Z</dc:date>
    <dc:creator>Caltais, Georgiana</dc:creator>
    <dcterms:issued>2017-01</dcterms:issued>
    <dspace:isPartOfCollection rdf:resource="https://kops.uni-konstanz.de/server/rdf/resource/123456789/36"/>
    <dcterms:available rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2017-02-28T16:30:59Z</dcterms:available>
    <dcterms:rights rdf:resource="https://rightsstatements.org/page/InC/1.0/"/>
    <dcterms:abstract xml:lang="eng">In this paper we focus on the development of a unifying framework for the formal modeling of an object oriented-programming language, its underlying concurrency model and their associated analysis tools. More precisely, we target SCOOP – an elegant concurrency model, recently formalized based on Rewriting Logic (RL) and Maude. SCOOP is implemented in Eiffel and its applicability is demonstrated also from a practical perspective, in the area of robotics programming. Our contribution consists of devising and integrating an alias analyzer and a Coffman deadlock detector under the roof of the same RL-based semantic framework of SCOOP. This enables using the Maude rewriting engine and its LTL model-checker “for free,” in order to perform the analyses of interest. We discuss the limitations of our approach for model-checking deadlocks and provide possible workarounds for the state space explosion problem. On the aliasing side, we propose an extension of a previously introduced alias calculus based on program expressions, to the setting of unbounded program executions. Moreover, we devise a corresponding executable specification easily implementable on top of the SCOOP formalization. An important property of our extension is that, in non-concurrent settings, the corresponding alias expressions can be over-approximated in terms of a notion of regular expressions. This further enables us to derive an algorithm for computing a sound over-approximation of the “may aliasing” information, where soundness stands for the lack of false negatives.</dcterms:abstract>
    <void:sparqlEndpoint rdf:resource="http://localhost/fuseki/dspace/sparql"/>
    <bibo:uri rdf:resource="https://kops.uni-konstanz.de/handle/123456789/37783"/>
    <dc:contributor>Caltais, Georgiana</dc:contributor>
    <foaf:homepage rdf:resource="http://localhost:8080/"/>
    <dcterms:isPartOf rdf:resource="https://kops.uni-konstanz.de/server/rdf/resource/123456789/36"/>
    <dcterms:title>On the verification of SCOOP programs</dcterms:title>
    <dc:rights>terms-of-use</dc:rights>
    <dspace:hasBitstream rdf:resource="https://kops.uni-konstanz.de/bitstream/123456789/37783/1/Caltais_2-rw8j0pvgtud22.pdf"/>
    <dc:contributor>Meyer, Bertrand</dc:contributor>
    <dcterms:hasPart rdf:resource="https://kops.uni-konstanz.de/bitstream/123456789/37783/1/Caltais_2-rw8j0pvgtud22.pdf"/>
    <dc:language>eng</dc:language>
  </rdf:Description>
</rdf:RDF>
kops.description.openAccessopenaccessgreen
kops.flag.knbibliographytrue
kops.identifier.nbnurn:nbn:de:bsz:352-2-rw8j0pvgtud22
kops.sourcefieldScience of Computer Programming. 2017, <b>133</b>(2), pp. 194-215. ISSN 0167-6423. eISSN 1872-7964. Available under: doi: 10.1016/j.scico.2016.08.005deu
kops.sourcefield.plainScience of Computer Programming. 2017, 133(2), pp. 194-215. ISSN 0167-6423. eISSN 1872-7964. Available under: doi: 10.1016/j.scico.2016.08.005deu
kops.sourcefield.plainScience of Computer Programming. 2017, 133(2), pp. 194-215. ISSN 0167-6423. eISSN 1872-7964. Available under: doi: 10.1016/j.scico.2016.08.005eng
relation.isAuthorOfPublication23c8465d-2f7a-4b05-a1af-35aa34f5fd85
relation.isAuthorOfPublication.latestForDiscovery23c8465d-2f7a-4b05-a1af-35aa34f5fd85
source.bibliographicInfo.fromPage194eng
source.bibliographicInfo.issue2eng
source.bibliographicInfo.toPage215eng
source.bibliographicInfo.volume133eng
source.identifier.eissn1872-7964eng
source.identifier.issn0167-6423eng
source.periodicalTitleScience of Computer Programmingeng

Dateien

Originalbündel

Gerade angezeigt 1 - 1 von 1
Vorschaubild nicht verfügbar
Name:
Caltais_2-rw8j0pvgtud22.pdf
Größe:
451.91 KB
Format:
Adobe Portable Document Format
Beschreibung:
Caltais_2-rw8j0pvgtud22.pdf
Caltais_2-rw8j0pvgtud22.pdfGröße: 451.91 KBDownloads: 557