Phys: probabilistic physical unit assignment and inconsistency detection

Phys: probabilistic physical unit assignment and inconsistency detection
复制标题

DOI:
10.1145/3236024.3236035
复制
发表时间:
2018-10
期刊:
Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Sayali Kate;J. Ore;X. Zhang;Sebastian G. Elbaum;Zhaogui Xu
Sayali Kate;J. Ore;X. Zhang;Sebastian G. Elbaum;Zhaogui Xu
中科院分区:
其他
文献类型:
--
作者:
Sayali Kate;J. Ore;X. Zhang;Sebastian G. Elbaum;Zhaogui Xu

文献摘要

相似文献

机器人和网络物理系统中使用的程序变量通常具有隐式物理单元,这些单元无法从它们的变量类型中确定。 . For instance, a variable with the unit of 'meter' should not be assigned to another variable with the unit of 'degree-per-second'. Existing solutions have各种限制,例如要求开发人员用物理单位注释变量,并且只能在流行的机器人库中使用直接或传统的变量,我们观察到这些软件中有很多物理单位提示,例如变量名称。这些表达式的表达方式。在结尾进行有问题的推理,我们的技术可以使用高度可能的单位分配来检测到每个变量的单位分布。具有超过88.7%超过真正阳性的最先进的距85.3%的真实积极因素。
Program variables used in robotic and cyber-physical systems often have implicit physical units that cannot be determined from their variable types. Inferring an abstract physical unit type for variables and checking their physical unit type consistency is of particular importance for validating the correctness of such systems. For instance, a variable with the unit of ‘meter’ should not be assigned to another variable with the unit of ‘degree-per-second’. Existing solutions have various limitations such as requiring developers to annotate variables with physical units and only handling variables that are directly or transitively used in popular robotic libraries with known physical unit information. We observe that there are a lot of physical unit hints in these softwares such as variable names and specific forms of expressions. These hints have uncertainty as developers may not respect conventions. We propose to model them with probability distributions and conduct probabilistic inference. At the end, our technique produces a unit distribution for each variable. Unit inconsistencies can then be detected using the highly probable unit assignments. Experimental results on 30 programs show that our technique can infer units for 159.3% more variables compared to the state-of-the-art with more than 88.7% true positives, and inconsistencies detection on 90 programs shows that our technique reports 103.3% more inconsistencies with 85.3% true positives.