The design and implementation of Candoia: A platform for building and sharing mining software repositories tools as apps

By: Nitin Mukesh Tiwari

PDF Download Download Paper

Abstract

We propose Candoia, a novel platform and ecosys- tem for building and sharing Mining Software Repositories (MSR) tools. Using Candoia, MSR tools are built as apps, and Candoia ecosystem, acting as an appstore, allows effective sharing. Candoia platform provides, data extraction tools for curating custom datasets for user projects, and data abstractions for enabling uniform access to MSR artifacts from disparate sources, which makes apps portable and adoptable across diverse software project settings of MSR researchers and practitioners. The structured design of a Candoia app and the languages selected for building various components of a Candoia app promotes easy customization. To evaluate Candoia we have built over two dozen MSR apps for analyzing bugs, software evolution, project management aspects, and source code and programming practices showing the applicability of the platform for building a variety of MSR apps. For testing portability of apps across diverse project settings, we tested the apps using ten popular project repositories, such as Apache Tomcat, JUnit, Node.js, etc, and found that apps required no changes to be portable. We performed a user study to test customizability and we found that five of eight Candoia users found it very easy to customize an existing app. Candoia is available for download.

ACM Reference

Tiwari, N.M. 2017. The design and implementation of Candoia: A platform for building and sharing mining software repositories tools as apps. Iowa State University.

BibTeX Reference

@mastersthesis{tiwari2017design,
  title = {The design and implementation of Candoia: A platform for building and sharing mining software repositories tools as apps},
  author = {Tiwari, Nitin Mukesh},
  year = {2017},
  school = {Iowa State University},
  abstract = {
    We propose Candoia, a novel platform and ecosys- tem for building and sharing
    Mining Software Repositories (MSR) tools. Using Candoia, MSR tools are built as
    apps, and Candoia ecosystem, acting as an appstore, allows effective sharing.
    Candoia platform provides, data extraction tools for curating custom datasets
    for user projects, and data abstractions for enabling uniform access to MSR
    artifacts from disparate sources, which makes apps portable and adoptable across
    diverse software project settings of MSR researchers and practitioners. The
    structured design of a Candoia app and the languages selected for building
    various components of a Candoia app promotes easy customization. To evaluate
    Candoia we have built over two dozen MSR apps for analyzing bugs, software
    evolution, project management aspects, and source code and programming practices
    showing the applicability of the platform for building a variety of MSR apps.
    For testing portability of apps across diverse project settings, we tested the
    apps using ten popular project repositories, such as Apache Tomcat, JUnit,
    Node.js, etc, and found that apps required no changes to be portable. We
    performed a user study to test customizability and we found that five of eight
    Candoia users found it very easy to customize an existing app. Candoia is
    available for download.
  }
}