Abstract | ||
---|---|---|
Programming efficient asynchronous systems is challenging because it can often be hard to express the design declaratively, or to defend against data races and interleaving-dependent assertion violations. Previous work has only addressed these challenges in isolation, by either designing a new declarative language, a new data race detection tool or a new testing technique. We present P#, a language for high-reliability asynchronous programming co-designed with a static data race analysis and systematic concurrency testing infrastructure. We describe our experience using P# to write several distributed protocols and port an industrial-scale system internal to Microsoft, showing that the combined techniques, by leveraging the design of P#, are effective in finding bugs. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1145/2737924.2737996 | PLDI |
Keywords | Field | DocType |
Asynchronous programming,concurrency,state machines,static data race analysis,systematic concurrency testing | Asynchronous communication,Static data,Programming language,Concurrency,Computer science,Assertion,Parallel computing,Real-time computing,Finite-state machine,Concurrent object-oriented programming,Declarative programming | Conference |
Volume | Issue | ISSN |
50 | 6 | 0362-1340 |
Citations | PageRank | References |
13 | 0.62 | 20 |
Authors | ||
5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Pantazis Deligiannis | 1 | 46 | 4.29 |
Alastair F. Donaldson | 2 | 661 | 52.35 |
Jeroen Ketema | 3 | 160 | 13.52 |
Akash Lal | 4 | 537 | 32.12 |
Paul Thomson | 5 | 122 | 5.85 |