• DocumentCode
    3143097
  • Title

    Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation

  • Author

    Balachandran, Vivek

  • Author_Institution
    VMware, Bangalore, India
  • fYear
    2013
  • fDate
    18-26 May 2013
  • Firstpage
    931
  • Lastpage
    940
  • Abstract
    Peer code review is a cost-effective software defect detection technique. Tool assisted code review is a form of peer code review, which can improve both quality and quantity of reviews. However, there is a significant amount of human effort involved even in tool based code reviews. Using static analysis tools, it is possible to reduce the human effort by automating the checks for coding standard violations and common defect patterns. Towards this goal, we propose a tool called Review Bot for the integration of automatic static analysis with the code review process. Review Bot uses output of multiple static analysis tools to publish reviews automatically. Through a user study, we show that integrating static analysis tools with code review process can improve the quality of code review. The developer feedback for a subset of comments from automatic reviews shows that the developers agree to fix 93% of all the automatically generated comments. There is only 14.71% of all the accepted comments which need improvements in terms of priority, comment message, etc. Another problem with tool assisted code review is the assignment of appropriate reviewers. Review Bot solves this problem by generating reviewer recommendations based on change history of source code lines. Our experimental results show that the recommendation accuracy is in the range of 60%-92%, which is significantly better than a comparable method based on file change history.
  • Keywords
    program diagnostics; program testing; software engineering; Review Bot tool; automatic static analysis; coding standard violation checking automation; comment message; cost-effective software defect detection technique; defect pattern; developer feedback; file change history; peer code review; quality improvement; reviewer recommendation; source code line change history; static analysis tools; tool assisted code review; Algorithm design and analysis; Encoding; History; Inspection; Java; Software; Standards;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2013 35th International Conference on
  • Conference_Location
    San Francisco, CA
  • Print_ISBN
    978-1-4673-3073-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2013.6606642
  • Filename
    6606642