Skip to content

Phriky Units - Physical units inconsistency detection tool for C++, especially for ROS

License

Notifications You must be signed in to change notification settings

unl-nimbus-lab/phriky-units

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phriky has been upgraded to Phys: https://unl-nimbus-lab.github.io/phys/


Phriky Units - Physical Unit Inconsistency Detection

Physical unit static analysis tool for ROS C++.

WINNER: ISSTA 2017 Best Tool Demonstration

ARTIFACT -- Download Virtual Machine with phriky-units pre-installed (Ubuntu 16.04 VM 3 GB .ova).

youtbe screenshot for Phriky-Units

* Free software: MIT license .. *Lightweight static analysis Lightweight static analysis

Install (tested on Ubuntu 16.04 and OSX 10.12.6)

pip install phriky_units

Requires Cppcheck greater than 1.75:

apt-get install cppcheck (Ubuntu 16.04)

brew install cppcheck (OSX)

git clone git://github.com/danmar/cppcheck.git (Ubuntu 14.04)

Examples:

You can run examples by checking out:

git clone https://github.com/unl-nimbus-lab/phriky-units.git

Then from that directory run:

phriky_units ./examples/addition/src/action.cpp

phriky_units ./examples/assignment/src/trajectory_planner_ros.cpp

phriky_units ./examples/comparison/src/twist_marker.cpp

Features

  • Detects physical unit inconsistencies, like adding quantities with different units, i.e. meters + seconds.
  • Lightweight static analysis
  • Path insensitive
  • No annotation burden
  • Low false positive rate (< 15% for `high-confidence’ inconsistencies)
  • Works with ROS

Credits

NIMBUS Lab at the University of Nebraska, Lincoln

This work was supported in part by NSF awards #1638099 and #1526652, and USDA-NIFA #2013-67021-20947.

About

Phriky Units - Physical units inconsistency detection tool for C++, especially for ROS

Resources

License

Stars

Watchers

Forks

Packages

No packages published