Thesis Defense: "Rate-Based Impact Analysis"
Nishant Sharma
Committee Members: Dr. Sebastian Elbaum (Advisor), Dr. Carrick Detweiler (Co-Advisor), Dr. Gregg Rothermel
Friday, September 22, 2017, 11 a.m.
112 Schorr Center
Abstract:
Impact Analysis (IA) identifies control and data dependencies to determine the system components that could be affected by a change. Changes to robotic systems as they are updated often alter the flow of control and sensor data. Changes to the rates at which data is published from sensors, controllers, and other parts of the system are particularly subtle and difficult to detect. These rate changes, even if minor (e.g. lowering the frame rate of a camera), can propagate throughout the system and have broad impacts. However, for robotic systems, these changes in flow rate cannot be precisely tracked by just looking at the control or data dependencies. Thus, the existing impact analysis techniques report imprecise impact sets and do not help to understand how the rate changes can impact the system.
In this work, we developed rate based impact analysis techniques that take into account the rate relations between components along with their control and data dependencies. We developed both static and dynamic techniques that perform rate based impact analysis. The static technique uses code patterns to define rate dependencies among system components. It is then used to limit the propagation of a rate change only to the rate dependent components. Apart from detecting rate dependencies, the dynamic technique also extracts a mathematical model to define the rate relationships among system components. It is then used to report how a rate change will affect other components. We performed multiple studies on Robot Operating System (ROS) based systems where our static technique showed a reduction in impact set by 59%. However, our dynamic technique utilizes a richer representation of rate dependencies and reduces the impact sets by 78%. We also illustrated through case studies, how the dynamic technique helps to characterize the impact of a rate change.