Cultural advice

The Australian National University acknowledges, celebrates and pays our respects to the Ngunnawal and Ngambri people of the Canberra region and to all First Nations Australians on whose traditional lands we meet and work, and whose cultures are among the oldest continuing cultures in human history.

Aboriginal and Torres Strait Islander peoples are advised that ANU Library collections may include images, names, voices, and other representations of deceased persons.

Material in the collection may contain terms, language or views that reflect the period in which the item was created and may be considered inappropriate today.

Verification of Concurrent Data Structures with TLA

dc.contributor.authorCai, Zixian
dc.date.accessioned2018-11-22T04:20:45Z
dc.date.available2018-11-22T04:20:45Z
dc.date.issued2018-11
dc.description.abstractConcurrent systems have critical applications such as aviation. Due to their inherent complexity, mechanised verification is well suited for reasoning about the safety and liveness properties of such systems. Temporal logics, such as TLA and LTL, have been used to verify distributed systems and protocols. However, it is not clear whether these logics are good fits for modelling and verifying concurrent data structures. This work describes how Temporal Logic of Actions (TLA) can be adapted to handle concurrent data structures and weak memory models. It also shows how the TLA toolchain, especially the model checker, can aid in cleanly applying the logical machinery to concrete programs. I used litmus tests to validate my encoding of memory models against prior work. These models enabled me to formalize various concurrent data structures, including the Chase-Lev queue. Then, I am able to check the behaviours of these data structures against abstract specification of their operations. In particular, my modelling can successfully find bugs in a faulty implementation of the Chase-Lev queue. The results suggest that TLA is appropriate for modelling concurrent data structures. The formal models I designed and the related modelling techniques can be used by the wider research community in their verification work.en_AU
dc.format.mimetypeapplication/pdfen_AU
dc.identifier.urihttp://hdl.handle.net/1885/151830
dc.rightsAuthor/s retain copyrighten_AU
dc.subjecttlaen_AU
dc.subjectmemory modelen_AU
dc.subjectformal verificationen_AU
dc.subjectconcurrent programmingen_AU
dc.titleVerification of Concurrent Data Structures with TLAen_AU
dc.typeReport (Student work)en_AU
dcterms.accessRightsOpen Accessen_AU
local.contributor.authoruidu5937495en_AU
local.description.notesA report submitted for the course SCNC2102en_AU
local.type.statusSubmitted Versionen_AU

Downloads

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
20181109-SCNC2102-Zixian.pdf
Size:
411.75 KB
Format:
Adobe Portable Document Format
Description:
Report

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
884 B
Format:
Item-specific license agreed upon to submission
Description: