Static checker of semantic run-time errors

被引:0
|
作者
Kuksenko, SV [1 ]
Shelekhov, VI [1 ]
机构
[1] Russian Acad Sci, Ershov Inst Informat Syst, Siberian Div, Novosibirsk 630090, Russia
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Static error analyzers are often considered an effective tool for improving the quality of programs together with well-known means of testing and debugging. However, the available run-time error analyzers cannot find the majority of real errors and are able to generate only long lists of warnings, which makes their application ineffective. In this paper, we determine the conditions under which a potential error found in the process of the program analysis is a definite error. It turns out that definite errors can be found only for definite variable definitions. Relaxation of the conditions of the error certainty determines a practically important class of so-called conditional errors, which prove to be definite errors in one case out of five on the average. An effective algorithm for powerful context-sensitive data flow analysis with the approximation of definite variable definitions is developed. A static analyzer based on the data flow analysis is developed for analyzing programs written in the mixture of the languages Oberon-2 and Medula-2 in the development environment XDS for OS/2, Windows 95/NT, and SunSparc. This analyzer is called OSA (Oberon-2/Modula-2 Static Analyzer); it is available at http://www.xds.ru/osa/. The analyzer has been successfully used to analyze real programs. In particular, it found 32 errors of various kinds in two programs of OBERON System 3 (about 26000 code lines in total) that has been in intensive use for three years.
引用
收藏
页码:288 / 300
页数:13
相关论文
共 50 条
  • [1] A static analysis method for run-time errors detection
    Cao, WJ
    Xu, SH
    Shi, ZG
    [J]. ISTM/2005: 6th International Symposium on Test and Measurement, Vols 1-9, Conference Proceedings, 2005, : 6615 - 6618
  • [2] Static Analysis of Run-Time Errors in Embedded Critical Parallel C Programs
    Mine, Antoine
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, 2011, 6602 : 398 - 418
  • [3] FINDING RUN-TIME MEMORY ERRORS
    NELSON, T
    [J]. DR DOBBS JOURNAL, 1993, 18 (12): : 34 - &
  • [4] Hardware Property Checker for Run-Time Hardware Trojan Detection
    Ngo, Xuan Thuy
    Danger, Jean-Luc
    Guilley, Sylvain
    Najm, Zakaria
    Emery, Olivier
    [J]. 2015 EUROPEAN CONFERENCE ON CIRCUIT THEORY AND DESIGN (ECCTD), 2015, : 97 - 100
  • [5] Worker-checker - A framework for run-time parallelization on multiprocessors
    Liu, KC
    King, CT
    [J]. JOURNAL OF SYSTEMS ARCHITECTURE, 1998, 45 (03) : 205 - 229
  • [6] STATIC ANALYSIS OF RUN-TIME ERRORS IN EMBEDDED REAL-TIME PARALLEL C PROGRAMS
    Mine, Antoine
    [J]. LOGICAL METHODS IN COMPUTER SCIENCE, 2012, 8 (01)
  • [7] Run-time detection and correction of heliostat tracking errors
    Chiesi, Matteo
    Scarselli, Eleonora Franchi
    Guerrieri, Roberto
    [J]. RENEWABLE ENERGY, 2017, 105 : 702 - 711
  • [8] A survey of systems for detecting serial run-time errors
    Luecke, Glenn R.
    Coyle, James
    Hoekstra, Jim
    Kraeva, Marina
    Li, Ying
    Taborskaia, Olga
    Wang, Yanmei
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2006, 18 (15): : 1885 - 1907
  • [9] Semantic Matching of Components at Run-Time in Distributed Environments
    Criado, Javier
    Iribarne, Luis
    Padilla, Nicolas
    Ayala, Rosa
    [J]. ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS: OTM 2015 WORKSHOPS, 2015, 9416 : 431 - 441
  • [10] How Powerful Are Run-Time Monitors with Static Information?
    Imanimehr, Fatemeh
    Fallah, Mehran S.
    [J]. COMPUTER JOURNAL, 2016, 59 (11): : 1623 - 1636