FuzzNT : Checking for Program Non-termination

被引:2
|
作者
Karmarkar, Hrishikesh [1 ]
Medicherla, Raveendra Kumar [1 ]
Metta, Ravindra [1 ]
Yeduru, Prasanth [1 ]
机构
[1] TCS Res, Chennai, Tamil Nadu, India
关键词
non termination; abstract interpretation; fuzzing; verification; testing; software maintenance; C PROGRAMS;
D O I
10.1109/ICSME55016.2022.00049
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Unintended non-termination of programs could lead to attacks such as Denial-of-Service(DoS). Current testing techniques are not geared to detect such errors. Towards this, we present FuzzNT, a hybrid testing technique to check non-termination of C programs by combining Coverage Guided Fuzzing (CGF) and abstract interpretation based static analysis. Given a program P and the coverage test inputs generated using CGF, P is transformed into a set of specialized programs, each of which under-approximates P. Abstract interpretation is then used to check each of these smaller programs for non-termination. The key advantage of this approach for checking non-termination is that it reuses the test case corpus created during software development and maintenance. Our preliminary experimental evaluation of FuzzNT shows highly promising results.
引用
收藏
页码:409 / 413
页数:5
相关论文
共 50 条
  • [1] Non-termination checking for imperative programs
    Velroyen, Helga
    Rummer, Philipp
    TESTS AND PROOFS, 2008, 4966 : 154 - +
  • [2] Proving Non-termination by Program Reversal
    Chatterjee, Krishnendu
    Goharshady, Ehsan Kafshdar
    Novotny, Petr
    Zikelic, Dorde
    PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 1033 - 1048
  • [3] Termination and Non-termination Specification Inference
    Le, Ton Chanh
    Qin, Shengchao
    Chin, Wei-Ngan
    ACM SIGPLAN NOTICES, 2015, 50 (06) : 489 - 498
  • [4] Proving non-termination
    Gupta, Ashutosh K.
    Henzinger, Thomas A.
    Majumdar, Rupak
    Rybalchenko, Andrey
    Xu, Ru-Gang
    ACM SIGPLAN NOTICES, 2008, 43 (01) : 147 - 158
  • [5] Proving Non-Termination
    Gupta, Ashutosh K.
    Henzinger, Thomas A.
    Majumdar, Rupak
    Rybalchenko, Andrey
    Xu, Ru-Gang
    POPL'08: PROCEEDINGS OF THE 35TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2008, : 147 - 158
  • [6] Non-termination in idempotent semirings
    Hoefner, Peter
    Struth, Georg
    RELATIONS AND KLEENE ALGEBRA IN COMPUTER SCIENCE, 2008, 4988 : 206 - 220
  • [7] Non-termination Proving at Scale
    Raad, Azalea
    Vanegue, Julien
    O'Hearn, Peter
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA):
  • [8] DynamiTe: Dynamic Termination and Non-termination Proofs
    Le, Ton Chanh
    Antonopoulos, Timos
    Fathololumi, Parisa
    Koskinen, Eric
    Nguyen, ThanhVu
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4
  • [9] Witness to non-termination of linear programs
    Li, Yi
    THEORETICAL COMPUTER SCIENCE, 2017, 681 : 75 - 100
  • [10] Formalizing non-termination of recursive programs
    Kahle, R
    Studer, T
    JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2001, 49 (1-2): : 1 - 14