Lightweight detection of physical unit inconsistencies without program annotations

Lightweight detection of physical unit inconsistencies without program annotations
复制标题

轻量级检测物理单元不一致,无需程序注释

DOI:
10.1145/3092703.3092722
复制
发表时间:
2017
期刊:
Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
影响因子:
--
通讯作者:
Elbaum, Sebastian
Elbaum, Sebastian
中科院分区:
--
文献类型:
--
作者:
Ore, John-Paul;Detweiler, Carrick;Elbaum, Sebastian

文献摘要

参考文献

被引文献

相似文献

与物理世界交互的系统对用物理单位测量的量进行操作。当程序中的单元操作与物理单元的规则不一致时,这些系统可能会受到影响。现有的方法来支持程序中的单元一致性可能会给开发人员带来不可接受的负担。在本文中,我们提出了一个轻量级的静态分析方法,专注于物理单元不一致性检测,不需要最终用户程序注释,修改或迁移。它通过利用现有的共享库来实现这一点,这些共享库处理网络物理领域中常见的标准化物理单元,将共享库的类属性链接到物理单元。然后,利用维度分析的规则,该方法在使用这些共享库的程序中传播和推断单元,并检测不一致的单元使用。我们在一个工具中实现和评估了这种方法,分析了213个包含900,000个以上的开源系统,发现其中11%的系统存在不一致性,对于一类具有高置信度的不一致性检测,真阳性率为87%。机器人系统开发人员的初步调查发现,我们的工具检测到的单位不一致是“有问题的”,我们调查如何以及何时发生这些不一致。
Systems interacting with the physical world operate on quantities measured with physical units. When unit operations in a program are inconsistent with the physical units' rules, those systems may suffer. Existing approaches to support unit consistency in programs can impose an unacceptable burden on developers. In this paper, we present a lightweight static analysis approach focused on physical unit inconsistency detection that requires no end-user program annotation, modification, or migration. 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. Then, leveraging rules from dimensional analysis, the approach propagates and infers units in programs that use these shared libraries, and detects inconsistent unit usage. We implement and evaluate the approach in a tool, analyzing 213 open-source systems containing +900,000 LOC, finding inconsistencies in 11% of them, with an 87% true positive rate for a class of inconsistencies detected with high confidence. An initial survey of robot system developers finds that the unit inconsistencies detected by our tool are 'problematic', and we investigate how and when these inconsistencies occur.
BMW 的 ROS 自动驾驶
DOI: 10.36288/roscon2015-900192
发表时间: 2015
期刊: Scientific Reports
影响因子: 4.6
作者:
M. Aeberhard;Thomas Kuhbeck;Bernhard Seidl
通讯作者: Bernhard Seidl
使用 C 进行完全静态尺寸分析
DOI: 10.1145/185009.185036
发表时间: 1994
影响因子: --
作者:
Zerksis D. Umrigar
通讯作者: Zerksis D. Umrigar
基于组件的 RT 系统开发的软件平台:OpenRTM-Aist
DOI: 10.1007/978-3-540-89076-8_12
发表时间: 2008
期刊: 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.
影响因子: --
作者:
N. Ando;T. Suehiro;T. Kotoku
通讯作者: T. Kotoku
验证电子表格程序的单位正确性
DOI: 10.1109/icse.2004.1317466
发表时间: 2004
期刊: Proceedings. 26th International Conference on Software Engineering
影响因子: --
作者:
Tudor Antoniu;P. Steckler;S. Krishnamurthi;E. Neuwirth;M. Felleisen
通讯作者: M. Felleisen
作为数据属性的计量单位
DOI: 10.1016/0096-0551(77)90010-8
发表时间: 1977
期刊: Comput. Lang.
影响因子: --
作者:
N. Gehani
通讯作者: N. Gehani