• DocumentCode
    3613
  • Title

    Reducing Feedback Delay of Software Development Tools via Continuous Analysis

  • Author

    Muslu, Kivanc ; Brun, Yuriy ; Ernst, Michael D. ; Notkin, David

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Univ. of Washington, Seattle, WA, USA
  • Volume
    41
  • Issue
    8
  • fYear
    2015
  • fDate
    Aug. 1 2015
  • Firstpage
    745
  • Lastpage
    763
  • Abstract
    During software development, the sooner a developer learns how code changes affect program analysis results, the more helpful that analysis is. Manually invoking an analysis may interrupt the developer´s workflow or cause a delay before the developer learns the implications of the change. A better approach is continuous analysis tools that always provide up-to-date results. We present Codebase Replication, a technique that eases the implementation of continuous analysis tools by converting an existing offline analysis into an IDE-integrated, continuous tool with two desirable properties: isolation and currency. Codebase Replication creates and keeps in sync a copy of the developer´s codebase. The analysis runs on the copy codebase without disturbing the developer and without being disturbed by the developer´s changes. We developed Solstice, an open-source, publicly-available Eclipse plug-in that implements Codebase Replication. Solstice has less than 2.5 milliseconds overhead for most common developer actions. We used Solstice to implement four Eclipse-integrated continuous analysis tools based on the offline versions of FindBugs, PMD, data race detection, and unit testing. Each conversion required on average 710 LoC and 20 hours of implementation effort. Case studies indicate that Solstice-based continuous analysis tools are intuitive and easy-to-use.
  • Keywords
    program diagnostics; program testing; software tools; Eclipse-integrated continuous analysis tools; FindBugs; IDE-integrated; PMD; Solstice; codebase replication; data race detection; feedback delay reduction; offline analysis; open-source Eclipse plug-in; program analysis; software development tools; unit testing; Delays; Electronic mail; Interrupters; Servers; Software; Synchronization; Testing; Codebase Replication; Continuous analysis; Continuous analysis,; Solstice;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2015.2417161
  • Filename
    7069257