Home > Seminars > John-Paul Ore - Incorporating Real-World Semantics into Program Analysis of Robot Systems

John-Paul Ore - Incorporating Real-World Semantics into Program Analysis of Robot Systems

Start:

1/24/2019 at 3:30PM

End:

1/24/2019 at 4:45PM

Location:

126 DeBartolo

Host:

College of Engineering close button
headerbottom

Jane Cleland-Huang

Jane Cleland-Huang

VIEW FULL PROFILE Email: janeclelandhuang@nd.edu
Phone: 574-631-3637
Website: http://sarec.nd.edu/pages/ClelandHuang.html
Office: 354 Fitzpatrick
Software requirements traceability, software architecture, and the application of machine learning and data mining methods to address large-scale software and systems engineering problems.
Click for more information about Jane
574-631-3637
Add to calendar:
iCal vCal
Robotic software is plagued both by faults that menace all software (null-pointers, index-out-of-bounds) and also faults specific to its physical interaction with the real world, such as dimensional inconsistencies. These software hazards occur when developers incorrectly manipulate real-world quantities with physical units, such as confusing force with torque or measuring an angle in degrees instead of radians—something we have shown frequently happens in practice. We also found that existing solutions to these problems are time-consuming and error-prone. To address the state of the art, we designed a program analysis technique and its corresponding tool 'Phys' to automatically detect dimensional inconsistencies in robotic software with minimal developer burden. Phys uses probabilistic reasoning and dataflow analysis to infer what variables mean in the real world. Phys works on systems that use the popular 'Robot Operating System' (ROS). I will present an evaluation showing that Phys has an 85% True Positive rate. I will show that dimensional inconsistencies lurk in at least 6% (211/3,484) of open-source robotic software repositories. I will further show the results of an empirical study showing that developers correctly identify the physical units of variables only 51% of the time, motivating our future work on automatically suggesting physical unit types. Finally, I will present a vision of future robotic software research enabled by our techniques that aims to help developers build robots with more reliable robotic software.

Seminar Speaker:

John-Paul Ore

John-Paul Ore

University of Nebraska

John-Paul Ore is a Ph.D. candidate with the Computer Science and Engineering department at the University of Nebraska--Lincoln. His research is in software engineering and field robotics. His Ph.D. work focuses on how to automatically detect dimensional inconsistencies in robotic software without time-consuming developer annotations. Specifically, he builds techniques and tools that infer physical unit types (like 'meters-per-second') using probabilistic reasoning to combine facts from dataflow with evidence from uncertain sources like variable names. He also performs empirical studies of developers to assess their ability to make decisions about robotic software. Overall, his goal is to help robotic system developers create better and safer systems. John-Paul received an Othmer fellowship, a US Patent for Aerial Water Sampling (#US9606028B2), 'Best Masters Thesis' Award (2014), 'Best Tool Demonstration' (ISSTA'17), and is on the program committee for Robotic Software Engineering Workshop (RoSE, part of ICSE'19). He has a B.A. in Philosophy from the University of Chicago. More info and videos: https://cse.unl.edu/~jore.