Data

QuickLinks:

  • File with inconsistency Data (shown in the paper, Figure 1)
  • 30 Files used for Physical Unit (PU) Abstract Type Inference. (Table 4)
  • 18 Files used during development with physical unit inconsistencies. (Table 6)
  • 60 random files with inconsistencies used to evaluate phys's TP/FP rate. (Table 7)

Data file for Figure 1

This is the data used in Figure 1. This file contains a physical unit inconsistency on line 576.

To run this code, see example #1 from the QuickStart page.

FILE NAME
FILE PATH / REPO
summit_xl_robot_control.cpp

To run phys on this file, navigate to the repo root directory and enter:

docker run -v "$(pwd)"/data:/data phys /data/summit_xl_sim/summit_xl_robot_control/src/summit_xl_robot_control.cpp

Files used for Physical Unit (PU) Abstract Type Inference (Table 4)

These files are used to evaluate how well phys can infer units for variables. This command shows each variable name that can have units along with a list of physical unit types and a likelihood per type.

To run phys on the first file from this list:

docker run -v "$(pwd)"/data:/data phys /data/aladdin_working/components/perception/Perception.cpp --print_variable_types

For example, one line of the expected output is:

angle_b:
[({'radian': 1.0}, 0.9193548387096537), ({'second': -2.0, 'meter': -1.0, 'kilogram': 1.0}, 0.5833333333333333), ({'quaternion': 1.0}, 0.5833333333333333), ({'degree_celsius': 1.0}, 0.5833333333333333), ({'meter': 1.0}, 0.5833333333333333), ({'second': 1.0}, 0.5833333333333333), ({'second': -1.0}, 0.5833333333333333), ({'second': -2.0, 'meter': 1.0, 'kilogram': 1.0}, 0.5833333333333333), ({'second': -2.0, 'meter': 2.0, 'kilogram': 1.0}, 0.5833333333333333), ({'second': -1.0, 'meter': 1.0}, 0.5833333333333333), ({'degree_360': 1.0}, 0.5833333333333333), ({'second': 1.0, 'meter': 1.0}, 0.5)]

This means for variable angle_b, the physical unit type radians is 91.9% likely.

FILE NAME
FILE PATH / REPO
Perception.cpp
/data/aladdin_working/components/perception/Perception.cpp
https://github.com/mjaein/aladdin_working
summit_xl_robot_control.cpp
/data/ArduinoConroller/summit-xl-ros-stack-read-only/trunk/tags/summit_xl_sim_groovy_v1.0/summit_xl_robot_control/src/summit_xl_robot_control.cpp
https://github.com/mwimble/ArduinoConroller
ard_node.cpp
/data/bayesian_compact_ware/ard/src/ard_node.cpp
https://github.com/ashish-kb/bayesian_compact_ware
collvoid_local_planner.cpp
/data/collvoid/collvoid_local_planner/src/collvoid_local_planner.cpp
https://github.com/daenny/collvoid
motor_control_hc.cpp
/data/de-floribot-software/phidgets/src/motor_control_hc.cpp
https://github.com/TorstenHeverhagen/de-floribot-software
traj_builder.cpp
/data/Epsilon_376/Epsilon_376-master/traj_builder/src/traj_builder.cpp
https://github.com/JJJVic/Epsilon_376
follow.cpp
/data/follow_ros/src/follow/src/follow.cpp
https://github.com/robofisshy/follow_ros
turtlebot_example_node.cpp
/data/FrenchVanilla/src/turtlebot_example/src/turtlebot_example_node.cpp
https://github.com/LordBismaya/FrenchVanilla
odometry.cpp
/data/gki_navigation/gki_odometry/src/odometry.cpp
https://github.com/GKIFreiburg/gki_navigation
motor_and_sensors_controller.cpp
/data/jaguar_base/src/motor_and_sensors_controller.cpp
https://github.com/gstavrinos/jaguar_base
base_driver.cpp
/data/kaqi_driver/src/base_driver.cpp
https://github.com/lzhzh/kaqi_driver
placement_wrt_workspace_action_server.cpp
/data/research-camp-5/raw_navigation/raw_base_placement/ros/nodes/placement_wrt_workspace_action_server.cpp
https://github.com/RC5Group6/research-camp-5
action.cpp
/data/romeo_grasper/src/romeo_moveit_actions/action.cpp
https://github.com/ros-aldebaran/romeo_moveit_actions
simulation_functions.cpp
/data/ROS-CATEC/CATEC_ugv/src/link/simulation_functions.cpp
https://github.com/Bardo91/ROS-CATEC
labbot_teleoperation_twist.cpp
/data/ROS-labbot/labbot_ws/src/labbot/src/labbot_teleoperation_twist.cpp
https://github.com/PUTvision/ROS-labbot
twist_marker.cpp
/data/TIAGo-ROS/twist_mux/src/twist_marker.cpp
https://github.com/eborghi10/TIAGo-ROS
trajectory_planner_ros.cpp
/data/TRIN_EARL/navigation/base_local_planner/src/trajectory_planner_ros.cpp
https://github.com/jinpyojeon/TRIN_EARL
QuadScripts.cpp
/data/usma_optitrack/src/QuadScripts.cpp
https://github.com/westpoint-robotics/usma_optitrack
viconxbee.cpp
/data/viconxbee/vicon/src/viconxbee.cpp
https://github.com/wang-chen/viconxbee
base_controller.cpp
/data/ubr1_preview/ubr_controllers/src/base_controller.cpp
https://github.com/unboundedrobotics/ubr1_preview/tree/master/ubr1_gazebo
channel_controller.cpp
/data/gki_navigation/channel_controller/src/channel_controller.cpp
https://github.com/GKIFreiburg/gki_navigation
interpolater.cpp
/data/final_code_RISE/videofeed/src/interpolater.cpp
https://github.com/Innovation-Cell/final_code_RISE
navigating_jockey.cpp
/data/lama_jockeys/src/navigating_jockey.cpp
https://github.com/lama-imr/lama
simple_pose.cpp
/data/alpha_autopilot/alpha_localization/src/simple_pose.cpp
https://github.com/kentegrate/alpha_autopilot
summit_xl_joint_state.cpp
/data/summit_xl_sim_groovy_v1.0/summit_xl_joint_state/src/summit_xl_joint_state.cpp
https://github.com/grafoteka/summit-xl-ros-stack
summit_xl_joystick.cpp
/data/summit_xl_sim_groovy_v1.0/summit_xl_joystick/src/summit_xl_joystick.cpp
https://github.com/grafoteka/summit-xl-ros-stack
summit_xl_waypoints.cpp
/data/summit_xl_sim_groovy_v1.0/summit_xl_waypoints/src/summit_xl_waypoints.cpp
https://github.com/grafoteka/summit-xl-ros-stack
twist_mux.cpp
/data/twist_mux/src/twist_mux.cpp
https://github.com/ros-teleop/twist_mux.git
twist_mux_diagnostics.cpp
/data/twist_mux/src/twist_mux_diagnostics.cpp
https://github.com/ros-teleop/twist_mux.git
vel_scheduler.cpp
/data/cwru-ros-pkg/catkin/src/cwru_376_student/wsn_examples/example_robot_commander/src/vel_scheduler.cpp
https://github.com/cwru-robotics/cwru-ros-pkg

Files used for Physical Unit Inconsistencies (Table 6)

These files are used during development to test phys.

To run phys on the first file from this list:

docker run -v "$(pwd)"/data:/data phys /data/bayesian_compact_ware/ard/src/ard_node.cpp

For example, one line of the expected output is:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 323. Units: [{'quaternion': 1.0}, {'meter': 1.0}]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 324. Units: [{'quaternion': 1.0}, {'meter': 1.0}]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 325. Units: [{'quaternion': 1.0}, {'meter': 1.0}]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 334. Units: [{'meter': 1.0}, {'quaternion': 1.0}]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 335. Units: [{'meter': 1.0}, {'quaternion': 1.0}]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 336. Units: [{'meter': 1.0}, {'quaternion': 1.0}]
file:/data/bayesian_compact_ware/ard/src/ard_node.cpp, strong:6,

This means there are 6 physical unit inconsistency, all of the type 'MULTIPLE UNITS'. The first inconsistency is at line 323 where a variable is assigned both meter and quaternion.

FILE NAME
TP
FP
FILE PATH / REPO
ard_node.cpp
6
0
/data/bayesian_compact_ware/ard/src/ard_node.cpp
https://github.com/ashish-kb/bayesian_compact_ware
collvoid_local_planner.cpp
2
0
/data/collvoid/collvoid_local_planner/src/collvoid_local_planner.cpp
https://github.com/daenny/collvoid
motor_control_hc.cpp
7
0
/data/de-floribot-software/phidgets/src/motor_control_hc.cpp
https://github.com/TorstenHeverhagen/de-floribot-software
traj_builder.cpp
1
0
/data/Epsilon_376/Epsilon_376-master/traj_builder/src/traj_builder.cpp
https://github.com/JJJVic/Epsilon_376
follow.cpp
2
0
/data/follow_ros/src/follow/src/follow.cpp
https://github.com/robofisshy/follow_ros
turtlebot_example_node.cpp
2
0
/data/FrenchVanilla/src/turtlebot_example/src/turtlebot_example_node.cpp
https://github.com/LordBismaya/FrenchVanilla
odometry.cpp
2
0
/data/gki_navigation/gki_odometry/src/odometry.cpp
https://github.com/GKIFreiburg/gki_navigation
motor_and_sensors_controller.cpp
4
0
/data/jaguar_base/src/motor_and_sensors_controller.cpp
https://github.com/gstavrinos/jaguar_base
base_driver.cpp
3
0
/data/kaqi_driver/src/base_driver.cpp
https://github.com/lzhzh/kaqi_driver
placement_wrt_workspace_action_server.cpp
1
2
/data/research-camp-5/raw_navigation/raw_base_placement/ros/nodes/placement_wrt_workspace_action_server.cpp
https://github.com/RC5Group6/research-camp-5
action.cpp
2
0
/data/romeo_grasper/src/romeo_moveit_actions/action.cpp
https://github.com/ros-aldebaran/romeo_moveit_actions
simulation_functions.cpp
1
0
/data/ROS-CATEC/CATEC_ugv/src/link/simulation_functions.cpp
https://github.com/Bardo91/ROS-CATEC
labbot_teleoperation_twist.cpp
2
0
/data/ROS-labbot/labbot_ws/src/labbot/src/labbot_teleoperation_twist.cpp
https://github.com/PUTvision/ROS-labbot
twist_marker.cpp
1
0
/data/TIAGo-ROS/twist_mux/src/twist_marker.cpp
https://github.com/eborghi10/TIAGo-ROS
trajectory_planner_ros.cpp
3
0
/data/TRIN_EARL/navigation/base_local_planner/src/trajectory_planner_ros.cpp
https://github.com/jinpyojeon/TRIN_EARL
QuadScripts.cpp
4
0
/data/usma_optitrack/src/QuadScripts.cpp
https://github.com/westpoint-robotics/usma_optitrack
viconxbee.cpp
3
0
/data/viconxbee/vicon/src/viconxbee.cpp
https://github.com/wang-chen/viconxbee

Files used for Physical Unit Inconsistencies from 60-File Set (Table 7)

These files were randomly selected from 500+ files with phys inconsistencies and are used to evaluate how well phys detects physical unit (PU) inconsistencies.

To run phys on the first file from this list:

docker run -v "$(pwd)"/data:/data phys /data/kaqi_driver/src/base_driver.cpp

For example, one line of the expected output is:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 883. Units: [{'meter': 1.0}, {'second': -1.0, 'meter': 1.0}]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 884. Units: [{'meter': 1.0}, {'second': -1.0, 'meter': 1.0}]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
MULTIPLE UNITS FOR VARIABLE
Assignment of multiple units on line 885. Units: [{'meter': 1.0}, {'second': -1.0}]
file:/data/kaqi_driver/src/base_driver.cpp, strong:3,

FILE NAME
TP
FP
FILE PATH / REPO
base_driver.cpp
3
0
/data/kaqi_driver/src/base_driver.cpp
https://github.com/lzhzh/kaqi_driver
summit_xl_robot_control.cpp
8
0
/data/ArduinoConroller/summit-xl-ros-stack-read-only/trunk/tags/summit_xl_sim_groovy_v1.0/summit_xl_robot_control/src/summit_xl_robot_control.cpp
https://github.com/mwimble/ArduinoConroller
move_in_elevator.cpp
0
1
/data/aidu/aidu_elevator/src/actions/move_in_elevator.cpp
https://github.com/rjagerman/aidu
quad_node.cpp
0
1
/data/asctec_pos_control/pc_asctec_sim/src/quad_node.cpp
https://github.com/UVa-StarLab/asctec_pos_control
waypoint_publisher_node.cpp
4
0
/data/AutoNavQuad/quad_control/src/nodes/waypoint_publisher_node.cpp
https://github.com/wilselby/ROS_quadrotor_simulator
at_odom_sim_node.cpp
1
0
/data/cargo-ants-ros/cargo-ants-ros-pkgs/at_odom_sim/src/at_odom_sim_node.cpp
https://github.com/jenniferdavid/cargo-ants-ros
cpr_slider.cpp
1
0
/data/cpr_robots_driver/cpr_robots_hwinterface/src/cpr_slider.cpp
https://github.com/srv/cpr_robots_driver
quad_threads.cpp
3
0
/data/AGNC-Lab_Quad/multithreaded/quad_threads.cpp
https://github.com/AGNC-Lab/Quad
offb_node.cpp
2
0
/data/crossover_nav/src/offb_node.cpp
https://github.com/tdnet12434/crossover_nav
virtual_trajectory_tracking.cpp
1
0
/data/cws/src/hitwall/src/virtual_trajectory_tracking.cpp
https://github.com/rafafigueroa/cws
behind_leader.cpp
0
2
/data/cws/src/quad/src/behind_leader.cpp
https://github.com/rafafigueroa/cws
distance.cpp
1
0
/data/eklavya-2015/SLAM/src/distance.cpp
https://github.com/AGV-IIT-KGP/eklavya-2015
human_pose_prediction.cpp
1
0
/data/hanp_prediction/src/human_pose_prediction.cpp
https://github.com/harmishhk/hanp_prediction
CollisionDetection.cpp
1
0
/data/haptic_teleoperation/src/CollisionDetection.cpp
https://github.com/kucars/haptic_teleoperation
eband_local_planner.cpp
33
3
/data/Husky_robot_packages/eband_local_planner/src/eband_local_planner.cpp
https://github.com/rs1990/Husky_robot_packages
RangeSensor.cpp
0
3
/data/ias_perception/cop_sr4_plugins/src/RangeSensor.cpp
https://github.com/code-iai/ias_perception
bioloid_interface.cpp
0
1
/data/ics_bioloid_fuerte/bioloid_interface/src/bioloid_interface.cpp
https://github.com/brennand/ics_bioloid_fuerte
ira_imu.cpp
0
2
/data/imu_utility/src/ira_imu.cpp
https://github.com/Waywrong/imu_utility
tools.cpp
0
2
/data/interactive_markers/src/tools.cpp
https://github.com/ros-visualization/interactive_markers
jaco_types.cpp
3
0
/data/jaco_husky_demo/jaco_driver/src/jaco_types.cpp
https://github.com/xwu4lab/jaco_husky_demo
AP_Autopilot.cpp
1
0
/data/komodo/APM2.5/libraries/APO/AP_Autopilot.cpp
https://github.com/robotican/komodo
visualOdometry.cpp
1
0
/data/laser_sweep_with_guidance/src/visual/visualOdometry.cpp
https://github.com/JinqiaoShi/laser_sweep_with_guidance
pose_follower.cpp
7
0
/data/Local_Planners/pose_follower/src/pose_follower.cpp
https://github.com/AutoPark/Local_Planners
node.cpp
7
0
/data/localAStar/src/node.cpp
https://github.com/Askodan/localAStar
modeswitcher.cpp
1
0
/data/mannu_local_eklavya/controls/controls/src/modeswitcher.cpp
https://github.com/manujagrawal/mannu_local_eklavya
move_simple.cpp
3
0
/data/marhes-ros-pkg/sandbox/titus/ml_light_txt_changes/src/move_simple.cpp
https://github.com/smilingpaul/marhes-ros-pkg
autopilot_manager_function.cpp
3
0
/data/MCU_ArCaRa/NapoDrone_ws/src/AutopilotManager/src/autopilot_manager_function.cpp
https://github.com/Ste1989/MCU_ArCaRa
motor_control_hc.cpp
11
0
/data/nps_ws/src/phidgets/src/motor_control_hc.cpp
https://github.com/ajayjain/nps_ws
ohm_drive_mode_control.cpp
10
0
/data/Ohm2017/ohm_igvc/src/ohm_drive_mode_control.cpp
https://github.com/iscumd/Ohm2017
interaction_test2_1.cpp
1
0
/data/okao_client/src/interaction_test2_1.cpp
https://github.com/cvpapero/okao_client
random_move.cpp
0
4
/data/pacman/src/irobotcreate/src/random_move.cpp
https://github.com/Quinn-Donnelly/Pacman-Simulation-ROS
search_chargingpile_manager.cpp
1
0
/data/peter_chargingpile_search/src/search_chargingpile_manager.cpp
https://github.com/xiwrong/peter_chargingpile_search
trajectory_planner_ros.cpp
3
0
/data/phriky-units/examples/assignment/src/trajectory_planner_ros.cpp
https://github.com/jinpyojeon/TRIN_EARL
ras_odometry_node.cpp
1
0
/data/RAS-2016/ras_odometry/src/ras_odometry_node.cpp
https://github.com/KTH-RAS/RAS2016
sparki_set_pose.cpp
3
0
/data/RBE_510_ROS/sparki_control/src/sparki_set_pose.cpp
https://github.com/ChrisBove/RBE_510_ROS
teleop_joypad.cpp
0
2
/data/ResearchCamp4/raw_command_tools/raw_teleop/ros/src/teleop_joypad.cpp
https://github.com/RC4Group1/ResearchCamp4
user_footprint_follow.cpp
2
0
/data/RoboCup-Home-Follow-use-lidar-to-follow-/user_tracker/src/user_footprint_follow.cpp
https://github.com/AIHZP/RoboCup-Home-Follow-use-lidar-to-follow-
tf_unittest.cpp
0
1
/data/robomagellan/Codigos/Raspberry/desenvolvimentoRos/src/tf/test/tf_unittest.cpp
https://github.com/UnbDroid/robomagellan
pioneer_odometry.cpp
0
1
/data/Robotica/catkin_ws/src/modelo_diferencial_catedra/src/pioneer_odometry.cpp
https://github.com/Karamchi/Robotica
stage_sim.cpp
1
0
/data/ROS-CATEC/CATEC_uav/src/link/stage_sim.cpp
https://github.com/Bardo91/ROS-CATEC
keyboard_teleop_node.cpp
0
4
/data/ROS-Groovy-Workspace/src/robot_teleop/src/keyboard_teleop/keyboard_teleop_node.cpp
https://github.com/Bardo91/ROS-CATEC
step_navigator.cpp
1
0
/data/ROSMAV/brown-ros-pkg-read-only/experimental/multirobot-demo-aggeliki/ROS_extra_sw/aggeliki/multirobot_coordination_map/step_navigator/src/step_navigator.cpp
https://github.com/dutchcheesehead/ROSMAV
WIDL-2207.cpp
1
0
/data/ROSnodes/WIDL/src/WIDL-2207.cpp
https://github.com/Near32/ROSnodes
Sensor.cpp
0
2
/data/RPL_individual_4/src/Sensor.cpp
https://github.com/mafilipp/RPL_individual_4
SchunkCanopenHardwareInterface.cpp
0
2
/data/schunk_canopen_driver/src/SchunkCanopenHardwareInterface.cpp
https://github.com/fzi-forschungszentrum-informatik/schunk_canopen_driver
robot_velocity_node.cpp
1
0
/data/SDI-11911/Proyecto2/src/ekbot_ctrl/robot_velocity_node.cpp
https://github.com/EagleKnights/ek-ssl
Agent.cpp
1
0
/data/steering_behaviors_controller/src/Agent.cpp
https://github.com/nahueJ/steering_behaviors_controller
SwarmControllerNode.cpp
6
0
/data/swarm_control/src/SwarmControllerNode.cpp
https://github.com/rafaelrgb/uav_swarm_pkgs
semantic_map.cpp
0
3
/data/thesis/src/semantic_map.cpp
https://github.com/cargath/thesis
dwa_planner_ros.cpp
3
0
/data/utpharosnavigation/dwa_local_planner/src/dwa_planner_ros.cpp
https://github.com/cameronthemoose/utpharosnavigation
ins.cpp
1
0
/data/vectornav/src/ins.cpp
https://github.com/akashgaurav/vectornav/
base_controller.cpp
1
0
/data/vendbot/src/base_controller.cpp
https://github.com/toddsampson/vendbot
moveit_ocs_model.cpp
7
0
/data/vigir_manipulation_planning/vigir_ocs_robot_model/src/moveit_ocs_model.cpp
https://github.com/team-vigir/vigir_manipulation_planning
proxy.cpp
2
0
/data/zsROS/zsProxy/src/proxy.cpp
https://github.com/ZhenshengLee/zsROS