Symbolic Execution with Finite State Automata

被引:0
|
作者
Fulop, Endre [1 ,2 ]
Pataki, Norbert [1 ,2 ]
机构
[1] Eotvos Lorand Univ, Budapest, Hungary
[2] 3in Res Grp, Fac Informat, Martonvasar, Hungary
关键词
static analysis; Clang; finite state automata; domain-specific language;
D O I
10.1109/informatics47936.2019.9119287
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Static analysis is an essential way to find code smells and bugs because it checks the source code without execution. Moreover, static analysis can help in software engineering comprehensively, since static analysis can be used for the validation of code style, evaluate software complexity and execute code refactorings, as well. Symbolic execution is a static analysis method where the variables are interpreted with symbolic values. Clang Static Analyzer is a powerful symbolic execution engine based on the Clang compiler infrastructure that can be used with C, C++ and Objective-C. Validation of resources' usage (e.g. files, memory) requires finite state automata (FSA) for modeling the state of resource (e.g. locked or acquired resource). In this paper, we argue for an approach in which automata are in-use during the symbolic execution. In this approach, a generic automaton is used. The generic automaton can be customized for different resources. We present our domain-specific language to define automata. Our tool parses the automaton and generates checker for the symbolic execution engine. We present some generated checkers, as well.
引用
收藏
页码:293 / 297
页数:5
相关论文
共 50 条
  • [21] Robustness of finite state automata
    Megretski, A
    MULTIDISCIPLINARY RESEARCH IN CONTROL, 2003, 289 : 147 - 160
  • [22] Residual finite state automata
    Denis, F
    Lemay, A
    Terlutte, A
    FUNDAMENTA INFORMATICAE, 2002, 51 (04) : 339 - 368
  • [23] SCSE: Boosting Symbolic Execution via State Concretization
    Wang, Huibin
    Li, Chunqiang
    Meng, Jianyi
    Xiang, Xiaoyan
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2019, E102D (08) : 1506 - 1516
  • [24] Deriving a State Model of a Control Program by Symbolic Execution
    Praehofer, Herbert
    Boehm, Thomas
    Pichler, Josef
    2018 IEEE 16TH INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2018, : 754 - 759
  • [25] Abstract Interpretation of Symbolic Execution with Explicit State Updates
    Bubel, Richard
    Hahnle, Reiner
    Weiss, Benjamin
    FORMAL METHODS FOR COMPONENTS AND OBJECTS, 2009, 5751 : 247 - +
  • [26] Infections as Abstract Symbolic Finite Automata: Formal Model and Applications
    Preda, Mila Dalla
    Mastroeni, Isabella
    2015 IEEE/ACM 1ST INTERNATIONAL WORKSHOP ON SOFTWARE PROTECTION (SPRO), 2015, : 59 - 65
  • [27] ELSE:: A new symbolic state generator for timed automata
    Zennou, S
    Yguel, M
    Niebert, P
    FORMAL MODELING AND ANALYSIS OF TIMED SYSTEMS, 2003, 2791 : 273 - 280
  • [28] Finite state automata: A geometric approach
    Steinberg, B
    TRANSACTIONS OF THE AMERICAN MATHEMATICAL SOCIETY, 2001, 353 (09) : 3409 - 3464
  • [29] ON STATE MINIMIZATION OF NONDETERMINISTIC FINITE AUTOMATA
    KAMEDA, T
    WEINER, P
    IEEE TRANSACTIONS ON COMPUTERS, 1970, C 19 (07) : 617 - &
  • [30] Finite State Automata as a Data Storage
    Mindek, Marian
    Hynar, Martin
    DATESO 2005 - DATABASES, TEXTS, SPECIFICATIONS, OBJECTS, 2005, : 9 - 19