@inproceedings{be44d8b2ce0840ed8d15feef6c3c8484,
title = "Phriky-units: A lightweight, annotation-free physical unit inconsistency detection tool",
abstract = "Systems that interact with the physical world use software that represents and manipulates physical quantities. To operate correctly, these systems must obey the rules of how quantities with physical units can be combined, compared, and manipulated. Incorrectly manipulating physical quantities can cause faults that go undetected by the type system, likely manifesting later as incorrect behavior. Existing approaches for inconsistency detection require code annotation, physical unit libraries, or specialized programming languages. We introduce Phriky-Units1, a static analysis tool that detects physical unit inconsistencies in robotic software without developer annotations. It does so by capitalizing on existing shared libraries that handle standardized physical units, common in the cyber-physical domain, to link class attributes of shared libraries to physical units. In this work, we describe how Phriky-Units works, provide details of the implementation, and explain how Phriky-Units can be used. Finally we present a summary of an empirical evaluation showing it has an 87% true positive rate for a class of inconsistencies we detect with high-confidence.",
keywords = "Dimensional analysis, Physical units, Program analysis, Robotic systems, Static analysis, Type checking, Unit consistency",
author = "Ore, {John Paul} and Carrick Detweiler and Sebastian Elbaum",
note = "Publisher Copyright: {\textcopyright} 2017 Association for Computing Machinery.; 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017 ; Conference date: 10-07-2017 Through 14-07-2017",
year = "2017",
month = jul,
day = "10",
doi = "10.1145/3092703.3098219",
language = "English (US)",
series = "ISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis",
publisher = "Association for Computing Machinery, Inc",
pages = "352--355",
editor = "Koushik Sen and Tevfik Bultan",
booktitle = "ISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis",
}