A Static Code Analysis Tool for Control System Software

被引:0
|
作者
Nair, Sreeja [1 ]
Jetley, Raoul [1 ]
Nair, Anil [1 ]
Hauck-Stattelmann, Stefan [2 ]
机构
[1] ABB Corp Res, Bangalore, Karnataka, India
[2] ABB Corp Res, Ladenburg, Germany
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:459 / 463
页数:5
相关论文
共 50 条
  • [1] STAC: A Tool for Static Textual Analysis of Code
    Khatiwada, Saket
    Kelly, Michael
    Mahmoud, Anas
    2016 IEEE 24TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2016,
  • [2] software technology Ensuring the Integrity of Embedded Software with Static Code Analysis
    Chelf, Ben
    Ebert, Christof
    IEEE SOFTWARE, 2009, 26 (03) : 96 - 99
  • [3] From Source Code Analysis to Static Software Testing
    Wang Wei
    Han Lilong
    Meng Yunxiu
    Bai He
    PROCEEDINGS OF 2014 IEEE WORKSHOP ON ADVANCED RESEARCH AND TECHNOLOGY IN INDUSTRY APPLICATIONS (WARTIA), 2014, : 1280 - 1283
  • [4] A Live Static Code Analysis Architecture for PLC Software
    Obster, Mathias
    Kowalewski, Stefan
    2017 22ND IEEE INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA), 2017,
  • [5] Air vehicle software static code analysis - Lessons learnt
    German, A
    Mooney, G
    ASPECTS OF SAFETY MANAGEMENT, 2001, : 175 - 193
  • [6] Static Code Analysis for Software Security Verification: Problems and Approaches
    Zhioua, Zeineb
    Short, Stuart
    Roudier, Yves
    2014 38TH ANNUAL IEEE INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE WORKSHOPS (COMPSACW 2014), 2014, : 102 - 109
  • [7] On The Relation between External Software Quality and Static Code Analysis
    Ploesch, R.
    Gruber, H.
    Hentschel, A.
    Pomberger, G.
    Schiffer, S.
    32ND ANNUAL IEEE SOFTWARE ENGINEERING WORKSHOP, PROCEEDINGS, 2009, : 169 - +
  • [8] Evaluating the Cost Reduction of Static Code Analysis for Software Security
    Baca, Dejan
    Carlsson, Bengt
    Lundberg, Lars
    PLAS'08: PROCEEDINGS OF THE ACM SIGPLAN THIRD WORKSHOP ON PROGRAMMING LANGUAGES AND ANALYSIS FOR SECURITY, 2008, : 79 - 88
  • [9] JxPlatform: A Tool Platform for Static Analysis of Java Source Code
    Maruyama, Katsuhisa
    Computer Software, 2024, 41 (04) : 28 - 48
  • [10] Software Component Score: Measuring Software Component Quality Using Static Code Analysis
    Deniz, Berkhan
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2015, PT V, 2015, 9159 : 63 - 72