Dynamic deadlock avoidance in systems code using statically inferred effects

DSpace/Manakin Repository

Show simple item record

dc.contributor.author Gerakios, P en
dc.contributor.author Papaspyrou, N en
dc.contributor.author Sagonas, K en
dc.contributor.author Vekris, P en
dc.date.accessioned 2014-03-01T02:53:14Z
dc.date.available 2014-03-01T02:53:14Z
dc.date.issued 2011 en
dc.identifier.uri http://hdl.handle.net/123456789/36185
dc.subject.other C programs en
dc.subject.other Deadlock avoidance en
dc.subject.other Deadlock freedom en
dc.subject.other Devastating effects en
dc.subject.other Lock acquisition en
dc.subject.other Multithreaded en
dc.subject.other Resource acquisition en
dc.subject.other Runtime systems en
dc.subject.other Runtimes en
dc.subject.other Static tools en
dc.subject.other Systems code en
dc.subject.other Type and effect systems en
dc.subject.other C (programming language) en
dc.subject.other Embedded systems en
dc.subject.other Static analysis en
dc.title Dynamic deadlock avoidance in systems code using statically inferred effects en
heal.type conferenceItem en
heal.identifier.primary 10.1145/2039239.2039247 en
heal.identifier.secondary http://dx.doi.org/10.1145/2039239.2039247 en
heal.identifier.secondary 5 en
heal.publicationDate 2011 en
heal.abstract Deadlocks can have devastating effects in systems code. We have developed a type and effect system that provably avoids them and in this paper we present a tool that uses a sound static analysis to instrument multithreaded C programs and then links these programs with a run-time system that avoids possible deadlocks. In contrast to most other purely static tools for deadlock freedom, our tool does not insist that programs adhere to a strict lock acquisition order or use lock primitives in a block-structured way, thus it is appropriate for systems code and OS applications. We also report some very promising benchmark results which show that all possible deadlocks can automatically be avoided with only a small run-time overhead. More importantly, this is done without having to modify the original source program by altering the order of resource acquisition operations or by adding annotations. © 2011 ACM. en
heal.journalName Proceedings of the 6th Workshop on Programming Languages and Operating Systems, PLOS 2011 - In Conjunction with the 23rd ACM Symposium on Operating Systems Principles, SOSP 2011 en
dc.identifier.doi 10.1145/2039239.2039247 en

Files in this item

Files Size Format View

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record