作者: Jiri Simsa , Garth Gibson , Randy Bryant
DOI:
关键词: Scheduling (computing) 、 Scalability 、 Software engineering 、 Real-time computing 、 Space exploration 、 Concurrency 、 Concurrent computing 、 Systematic testing 、 Software 、 Computer science 、 Speedup
摘要: The challenge this thesis addresses is to speed up the development of concurrent programs by increasing efficiency with which can be tested and consequently evolved. goal generate methods tools that help software engineers increase confidence in correct operation their programs. To achieve goal, advocates testing using a systematic approach capable enumerating possible executions program. The practicality demonstrated presenting novel infrastructure repeatedly executes program test, controlling order events happen so different behaviors explored across test executions. By doing so, circumvents limitations traditional ad-hoc testing, relies on chance discover concurrency errors. However, idea alone does not quite solve problem testing. combinatorial nature number ways execute causes an explosion interleavings these events, referred as state space explosion. To address problem, studies techniques for quantifying extent explores several directions mitigating explosion: parallel exploration, restricted runtime scheduling, abstraction reduction. In course its research pushes practical limits orders magnitude, scaling real-world unprecedented complexity.