• DocumentCode
    1902663
  • Title

    A fast and low-overhead technique to secure programs against integer overflows

  • Author

    Rodrigues, R.E. ; Sperle Campos, Victor Hugo ; Magno Quintao Pereira, Fernando

  • Author_Institution
    Dept. of Comput. Sci., Fed. Univ. of Minas Gerais (UFMG), Belo Horizonte, Brazil
  • fYear
    2013
  • fDate
    23-27 Feb. 2013
  • Firstpage
    1
  • Lastpage
    11
  • Abstract
    The integer primitive type has upper and lower bounds in many programming languages, including C, and Java. These limits might lead programs that manipulate large integer numbers to produce unexpected results due to overflows. There exists a plethora of works that instrument programs to track the occurrence of these overflows. In this paper we present an algorithm that uses static range analysis to avoid this instrumentation whenever possible. Our range analysis contains novel techniques, such as a notion of “future” bounds to handle comparisons between variables. We have used this algorithm to avoid some checks created by a dynamic instrumentation library that we have implemented in LLVM. This framework has been used to detect overflows in hundreds of C/C++ programs. As a testimony of its effectiveness, our range analysis has been able to avoid 25% of all the overflow checks necessary to secure the C programs in the LLVM test suite. This optimization has reduced the runtime overhead of instrumentation by 50%.
  • Keywords
    C++ language; Java; number theory; program diagnostics; program testing; security of data; C languages; C++ programs; Java; LLVM test suite; dynamic instrumentation library; instrument programs; integer overflows; integer primitive type; low-overhead technique; lower bounds; program security; programming languages; static range analysis; upper bounds; Abstracts; Algorithm design and analysis; Computer languages; Heuristic algorithms; Instruments; Lattices; Runtime; Compiler; Integer Overflow; Range analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on
  • Conference_Location
    Shenzhen
  • Print_ISBN
    978-1-4673-5524-7
  • Type

    conf

  • DOI
    10.1109/CGO.2013.6494996
  • Filename
    6494996