谷歌浏览器插件
订阅小程序
在清言上使用

A static code analysis tool for control system software

Software Analysis, Evolution and Reengineering(2015)

引用 15|浏览11
暂无评分
摘要
Latent errors in control system software can be hard to detect through traditional testing techniques. Such errors, if left undetected, could manifest themselves as failures during run-time that could be potentially catastrophic and very expensive to fix. In this paper, we present a static code analysis approach to detect potential sources of such run-time errors during compile time itself, thus ensuring easy identification, safe execution and reducing the effort required during debugging. In order to detect run-time errors, the control system application is first parsed to generate a set of abstract syntax trees, which in turn are used to derive the control flow graph for the application. A hybrid algorithm, based on abstract interpretation and traditional data flow analysis techniques is used to check the control flow graph for type constraints, reachability and liveness properties. Additionally, the abstract syntax trees are used to check for datatype mismatches and compliance violations. A proof of concept prototype is implemented to demonstrate how the algorithm/approach can be used to analyze control applications developed using domain specific languages such as those complying with the IEC 61131-3 standard.
更多
查看译文
关键词
control engineering computing,data flow analysis,flow graphs,program compilers,program debugging,reachability analysis,software tools,source code (software),iec 61131-3 standard,abstract interpretation,abstract syntax trees,compile time,compliance violations,control flow graph,control system application,control system software,datatype mismatches,debugging,domain specific languages,hybrid algorithm,latent errors,liveness properties,parsing,reachability,run-time errors detection,static code analysis tool,type constraints,control systems,prototypes,semantics
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要