In this document we lay out the plans for a PhD project in computer science. We aim to help developers who want to harness the speedups that multi-core CPU architectures offer. Parallel programming is the means trough which these new architectures can be controlled. Writing parallel applications is however, much more complex than writing their sequential counterparts. Developers writing parallel programs are suddenly confronted with state explosion. Because an executing parallel program can have its state transition to one of many states, rather than one deterministic state, the number of possible reachable states can grow exponentially with the number of steps the program takes. Both human developers and software aiming to aid them struggle with state explosion.
We aim to tackle the problem of state explosion on two fronts. On the one hand we need to reduce the allowed amount of nondeterminism. On the other hand we need to provide developers with a means to get insight into all the possible program executions. First, to limit the amount of non-determinism, we will build an orthogonal basis of parallelization primitives that limit the allowed state explosion. Once the state explosion is limited, computers can take on the job of visualizing the full execution graph. Interacting with this graph will help developers understand more clearly what their program is doing. By additionally allowing the developer to explore the graph interactively and to create the nodes on the fly, we can further reduce the state explosion.
To validate our work we will implement a set of programs and verify that our basis is expressive enough. Additionally, user-studies will be done to test whether our debugger indeed improves the speed at with which developers find and understand bugs.
Our goal is thus to reduce the cognitive load placed on developers when developing parallel programs. We will do this by limiting the allowed amount of state explosion without giving up expressiveness and by allowing users to explore the execution of their program interactively.
Fri 19 JulDisplayed time zone: Belfast change
13:30 - 15:10 | |||
13:30 30mDoctoral symposium paper | Improving the Efficiency, Scalability, and Applicability of Static Program Analysis in Real-World Operational Scenarios Doctoral Symposium Philipp Dominik Schubert Heinz Nixdorf Institut, Paderborn University | ||
14:00 30mDoctoral symposium paper | State Explosion Considered Harmful Doctoral Symposium Robbert Gurdeep Singh Universiteit Gent, Belgium | ||
14:30 30mDoctoral symposium paper | Session Types in the Real World: A Minimalistic Approach Doctoral Symposium Alen Arslanagić University of Groningen |