• DocumentCode
    2004439
  • Title

    Concurrencer: A tool for retrofitting concurrency into sequential java applications via concurrent libraries

  • Author

    Dig, Danny ; Marrero, John ; Ernst, Michael D.

  • Author_Institution
    Comput. Sci. & Artificial Intell. Lab., Massachusetts Inst. of Technol., Cambridge, MA
  • fYear
    2009
  • fDate
    16-24 May 2009
  • Firstpage
    399
  • Lastpage
    400
  • Abstract
    Parallelizing existing sequential programs to run efficiently on multicores is hard. The Java 5 package java.util.concurrent (j.u.c.) supports writing concurrent programs. To use this package, programmers still need to refactor existing code. This is tedious, error-prone, and omission-prone. This demo presents our tool, CONCURRENCER, which enables programmers to refactor sequential code into parallel code that uses j.u.c. concurrent utilities. CONCURRENCER does not require any program annotations, although the transformations span several, non-adjacent, program statements and use custom program analysis. A find-and-replace tool can not perform such transformations. Empirical evaluation shows that CONCURRENCER refactors code effectively: CONCURRENCER correctly identifies and applies transformations that some open-source developers overlooked, and the converted code exhibits good speedup.
  • Keywords
    Java; software maintenance; software packages; concurrencer; concurrency retrofitting; concurrent libraries; find-and-replace tool; open-source developers; parallel code; sequential Java applications; Ash; Concurrent computing; Java; Libraries; Multicore processing; Open source software; Packaging; Parallel processing; Programming profession; Scalability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on
  • Conference_Location
    Vancouver, BC
  • Print_ISBN
    978-1-4244-3495-4
  • Type

    conf

  • DOI
    10.1109/ICSE-COMPANION.2009.5071031
  • Filename
    5071031