Operating system concepts (2nd ed.)
Operating system concepts (2nd ed.)
Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Handbook of theoretical computer science (vol. B)
Competitive Markov decision processes
Competitive Markov decision processes
Eraser: a dynamic data race detector for multithreaded programs
ACM Transactions on Computer Systems (TOCS)
Journal of the ACM (JACM)
Game interpretation of the deadlock avoidance problem
Communications of the ACM
Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications
Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications
Finite State Markovian Decision Processes
Finite State Markovian Decision Processes
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
CC '02 Proceedings of the 11th International Conference on Compiler Construction
FOCS '98 Proceedings of the 39th Annual Symposium on Foundations of Computer Science
RacerX: effective, static detection of race conditions and deadlocks
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Capriccio: scalable threads for internet services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
QEST '04 Proceedings of the The Quantitative Evaluation of Systems, First International Conference
The complexity of stochastic rabin and streett games
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Efficient distributed deadlock avoidance with liveness guarantees
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Bridging the gap: Discrete-Event Systems for software engineering (short position paper)
C3S2E '09 Proceedings of the 2nd Canadian Conference on Computer Science and Software Engineering
Symbolic algorithms for qualitative analysis of Markov decision processes with Buchi objectives
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
From boolean to quantitative synthesis
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Proceedings of the twenty-second annual ACM-SIAM symposium on Discrete Algorithms
Deadlock avoidance, non-linearity and games
VECoS'10 Proceedings of the Fourth international conference on Verification and Evaluation of Computer and Communication Systems
Code aware resource management
Formal Methods in System Design
Symbolic algorithms for qualitative analysis of Markov decision processes with Büchi objectives
Formal Methods in System Design
Faster algorithms for markov decision processes with low treewidth
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Hi-index | 0.00 |
Multithreaded programs coordinate their interaction through synchronization primitives like mutexes and semaphores, which are managed by an OS-provided resource manager. We propose algorithms for the automatic construction of code-aware resource managers for multithreaded embedded applications. Such managers use knowledge about the structure and resource usage (mutex and semaphore usage) of the threads to guarantee deadlock freedom and progress while managing resources in an efficient way. Our algorithms compute managers as winning strategies in certain infinite games, and produce a compact code description of these strategies. We have implemented the algorithms in the tool Cynthesis. Given a multithreaded program in C, the tool produces C~code implementing a code-aware resource manager. We show in experiments that Cynthesis produces compact resource managers within a few minutes on a set of embedded benchmarks with up to 6 threads.