uu.seUppsala University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
The shared-memory interferences of Erlang/OTP built-ins
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science. (Programming Languages)
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science. (Programming Languages)ORCID iD: 0000-0001-9657-0179
2017 (English)In: Proceedings of the 16th ACM SIGPLAN International Workshop on Erlang, New York: Association for Computing Machinery (ACM), 2017Conference paper, Published paper (Refereed)
Abstract [en]

Erlang is a concurrent functional language based on the actor modelof concurrency. In the purest form of this model, actors are realizedby processes that do not share memory and communicate witheach other exclusively via message passing. Erlang comes quiteclose to this model, as message passing is the primary form of interprocesscommunication and each process has its own memoryarea that is managed by the process itself. For this reason, Erlangis often referred to as implementing “shared nothing” concurrency.Although this is a convenient abstraction, in reality Erlang’s mainimplementation, the Erlang/OTP system, comes with a large numberof built-in operations that access memory which is shared byprocesses. In this paper, we categorize these built-ins, and characterizethe interferences between them that can result in observabledifferences of program behaviour when these built-ins are usedin a concurrent setting. The paper is complemented by a publiclyavailable suite of more than one hundred small Erlang programsthat demonstrate the racing behaviour of these built-ins.

Place, publisher, year, edition, pages
New York: Association for Computing Machinery (ACM), 2017.
Keyword [en]
Actors, BEAM, Concuerror, Erlang, Scheduling nondeterminism
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:uu:diva-331840DOI: 10.1145/3123569.3123573ISBN: 978-1-4503-5179-9 (print)OAI: oai:DiVA.org:uu-331840DiVA, id: diva2:1150361
Conference
ERLANG 2017
Projects
UPMARC
Available from: 2017-10-18 Created: 2017-10-18 Last updated: 2018-01-13Bibliographically approved
In thesis
1. Effective Techniques for Stateless Model Checking
Open this publication in new window or tab >>Effective Techniques for Stateless Model Checking
2018 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Stateless model checking is a technique for testing and verifying concurrent programs, based on exploring the different ways in which operations executed by the processes of a concurrent program can be scheduled. The goal of the technique is to expose all behaviours that can be a result of scheduling non-determinism. As the number of possible schedulings is huge, however, techniques that reduce the number of schedulings that must be explored to achieve verification have been developed. Dynamic partial order reduction (DPOR) is a prominent such technique.

This dissertation presents a number of improvements to dynamic partial order reduction that significantly increase the effectiveness of stateless model checking. Central among these improvements are the Source and Optimal DPOR algorithms (and the theoretical framework behind them) and a technique that allows the observability of the interference of operations to be used in dynamic partial order reduction. Each of these techniques can exponentially decrease the number of schedulings that need to be explored to verify a concurrent program. The dissertation also presents a simple bounding technique that is compatible with DPOR algorithms and effective for finding bugs in concurrent programs, if the number of schedulings is too big to make full verification possible in a reasonable amount of time, even when the improved algorithms are used.

All improvements have been implemented in Concuerror, a tool for applying stateless model checking to Erlang programs. In order to increase the effectiveness of the tool, the interference of the high-level operations of the Erlang/OTP implementation is examined, classified and precisely characterized. Aspects of the implementation of the tool are also described. Finally, a use case is presented, showing how Concuerror was used to find bugs and verify key correctness properties in repair techniques for the CORFU chain replication protocol.

Place, publisher, year, edition, pages
Uppsala: Acta Universitatis Upsaliensis, 2018. p. 56
Series
Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, ISSN 1651-6214 ; 1602
Keyword
Concurrent, Parallel, Model Checking, Partial Order Reduction, Dynamic Partial Order Reduction, DPOR, Sleep Set Blocking, Source Sets, Source DPOR, Wakeup Trees, Optimal DPOR, Observers, Verification, Bounding, Exploration Tree Bounding, Testing, Erlang, Concuerror, Protocol, Chain Replication, CORFU
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-333541 (URN)978-91-513-0160-0 (ISBN)
Public defence
2018-02-02, ITC/2446, Lägerhyddsvägen 2, 752 37, Uppsala, 13:15 (English)
Opponent
Supervisors
Projects
UPMARCRELEASE
Available from: 2017-12-19 Created: 2017-11-22 Last updated: 2018-03-08

Open Access in DiVA

fulltext(586 kB)71 downloads
File information
File name FULLTEXT01.pdfFile size 586 kBChecksum SHA-512
511337f78abdc84bef25a50bdfa27dbd321caf18111ef5e9267c99216d91f970fd6b496bb969116ea82eb9ae33b883311862cdd65148d626a20b3d1df9ec7ef3
Type fulltextMimetype application/pdf

Other links

Publisher's full text

Authority records BETA

Aronis, StavrosSagonas, Konstantinos

Search in DiVA

By author/editor
Aronis, StavrosSagonas, Konstantinos
By organisation
Computing Science
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 71 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 174 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf