Dimensional inconsistencies in code and ROS messages: A study of 5.9M lines of code

John Paul Ore, Sebastian Elbaum, Carrick Detweiler

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Scopus citations

Abstract

This work presents a study of robot software using the Robot Operating System (ROS), focusing on detecting inconsistencies in physical unit manipulation. We discuss how dimensional analysis, the rules governing how physical quantities are combined, can be used to detect inconsistencies in robot software that are otherwise difficult to detect. Using a corpus of ROS software with 5.9M lines of code, we measure the frequency of these dimensional inconsistencies and find them in 6% (211 / 3,484) of repositories that use ROS. We find that the inconsistency type 'Assigning multiple units to a variable' accounts for 75% of inconsistencies in ROS code. We identify the ROS classes and physical units most likely to be involved with dimensional inconsistencies, and find that the ROS Message type geometry-msgs::Twist is involved in over half of all inconsistencies and is used by developers in ways contrary to Twist's intent. We further analyze the frequency of physical units used in ROS programs as a proxy for assessing how developers use ROS, and discuss the practical implications of our results including how to detect and avoid these inconsistencies.

Original languageEnglish (US)
Title of host publicationIROS 2017 - IEEE/RSJ International Conference on Intelligent Robots and Systems
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages712-718
Number of pages7
ISBN (Electronic)9781538626825
DOIs
StatePublished - Dec 13 2017
Event2017 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2017 - Vancouver, Canada
Duration: Sep 24 2017Sep 28 2017

Publication series

NameIEEE International Conference on Intelligent Robots and Systems
Volume2017-September
ISSN (Print)2153-0858
ISSN (Electronic)2153-0866

Other

Other2017 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2017
Country/TerritoryCanada
CityVancouver
Period9/24/179/28/17

ASJC Scopus subject areas

  • Control and Systems Engineering
  • Software
  • Computer Vision and Pattern Recognition
  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Dimensional inconsistencies in code and ROS messages: A study of 5.9M lines of code'. Together they form a unique fingerprint.

Cite this