Top Banner
03/30/06 Precise and Reproducible Testing of Concurrent Software Tejasvi Aswathanarayana, Noah Watkins, Douglas Niehaus ([email protected]) Concurrency issues are difficult to test and debug The difficulty arises from a lack of precise control over the execution of computations This lack of control results in an inability to reliably reproduce problem scenarios and to perform verifiable testing of concurrent software Current techniques of test scenario coverage depend on the probabilistic assumption that stress testing of a software system will cover all scenarios Test results show that probabilistic stress testing does not always cover all relevant scenarios and even when it does, the time required is highly variable Deterministic Control Overview Variability of Time in Concurrency Testing Guided Execution of 3 Threads Group Scheduling under KURT-Linux creates an environment in which precise control of every computation is possible We can use precise and customized control to guide a computation through specific scenarios This establishes a debugging and testing framework providing deterministic test case coverage Waypoints describe locations in the code where thread execution is interleaved in some scenario
1

Precise and Reproducible Testing of Concurrent Software

Jan 26, 2017

Download

Documents

Softwarecentral
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Precise and Reproducible Testing of Concurrent Software

03/30/06

Precise and Reproducible Testing of Concurrent Software

Tejasvi Aswathanarayana, Noah Watkins, Douglas Niehaus ([email protected])

● Concurrency issues are difficult to test and debug● The difficulty arises from a lack of precise control over the execution of computations● This lack of control results in an inability to reliably reproduce problem scenarios and to perform verifiable testing of concurrent software● Current techniques of test scenario coverage depend on the probabilistic assumption that stress testing of a software system will cover all scenarios● Test results show that probabilistic stress testing does not always cover all relevant scenarios and even when it does, the time required is highly variableDeterministic Control

Overview Variability of Time in Concurrency Testing

Guided Execution of 3 Threads• Group Scheduling under KURT-Linux creates

an environment in which precise control of every computation is possible • We can use precise and customized control to guide a computation through specific scenarios● This establishes a debugging and testing framework providing deterministic test case coverage• Waypoints describe locations in the code where thread execution is interleaved in some scenario • Specialized scheduler controls execution according to a specified scenario schedule under group scheduling