• DocumentCode
    17958
  • Title

    Light-weight resource leak testing based on finalisers

  • Author

    Ziying Dai ; Xiaoguang Mao

  • Author_Institution
    Coll. of Comput., Nat. Univ. of Defense Technol., Changsha, China
  • Volume
    7
  • Issue
    6
  • fYear
    2013
  • fDate
    Dec-13
  • Firstpage
    308
  • Lastpage
    316
  • Abstract
    Despite garbage collectors, programmers must manually manage many non-memory `finite system resources´ such as file descriptors and database connections. Unreleased resources result in `resource leaks´ that degrade application performance and can even result in system crashes. It is hard to test resource leaks because of their no immediate symptoms in the short run. There are analysis techniques to detect resource leaks statically or dynamically. However, all of them require the formal specification as input, which seriously decrease their practicability for common software developers. In this study, the authors propose an easy-to-use yet effective resource leak testing approach for Java programs based on existing finalisers of Java Application Programming Interface (API) classes. They instrument resource classes to check that the cleanup method of a resource object is called before its finaliser´s execution. Otherwise, this resource object is leaked. To use this approach, programmers just add a few lines of code into their programs and no formal specifications are required. They carry out experiments on benchmarks in the literature to evaluate the incidence of object finalisation and performance cost of finalisers. Experimental results show that the authors´ approach can test leaks of most system resources with high effectiveness and low overhead.
  • Keywords
    Java; application program interfaces; program testing; Java API classes; Java programs; application program interfaces; finalisers; light-weight resource leak testing; object finalisation; performance cost; resource classes; resource object cleanup method;
  • fLanguage
    English
  • Journal_Title
    Software, IET
  • Publisher
    iet
  • ISSN
    1751-8806
  • Type

    jour

  • DOI
    10.1049/iet-sen.2013.0026
  • Filename
    6680573