Skip to content

Instantly share code, notes, and snippets.

@kpiyush04
Created August 23, 2021 13:21
Show Gist options
  • Save kpiyush04/18dac612f8641a959297b74d04a77ac4 to your computer and use it in GitHub Desktop.
Save kpiyush04/18dac612f8641a959297b74d04a77ac4 to your computer and use it in GitHub Desktop.
GSoC'21_Report

  bugzilla.png  
  bugzilla.png   R.png

Google Summer of Code, 2021: bugRzilla

Summary of the bugRzilla project under the R project for statistical computing

Student: Piyush Kumar

Abstract

This gist contains the details about my GSoC'21 Project with the bugRzilla under R project for statistical computing. During the summer, I've worked on the testing, Code Coverage of the bugRzilla package, and created a analysis report of the bugzilla's database dump of the R-project bugzilla_viz. The project bugRzilla is an R package that helps the user to interact with the Bugzilla through an API. The goal of the project is to help users to submit issues to R Bugzilla.

The source code for this package is available in the bugRzilla GitHub repository.


Introduction

This GSoC project stemmed from the fact that the bugRzilla package helps the user to interact with the Bugzilla through an API. The project bugRzilla is a package that helps the user to interact with Bugzilla through an API. During GSoC, I've worked on the testing and increasing the code coverage of the bugRzilla package using the testthat package and created an analysis report of the Bugzilla database dump of the R-project showing various illustrations.


Phase 1: First Evaluation

For the major part of the first coding period, the main aim was to test the bugRzilla using the testthat package and increase the code coverage. Initially, the testing was done on many files but some files needed to be tested which includes the files api.R, test-search.R, and post_help.R to increased the code coverage by adding the test cases (Check API functions to increase Code Coverage).

(Remove rappdirs dependency) CRAN policies says that packages should use the tools::R_user_dir() for storing the R-related user-specific data, configuration and cache files. So replacing rappdirs with tools::R_user_dir().


Phase 2: Final Evaluation

In the post_bug() function, there was some modification that was required to be fulfilled i.e. the data has to be sent in the simple JSON-RPC format, and the test-cases for post_bug.R were created during this period post_bug function. I've updated the post_bug() function in the post_bug.R file, where the user can interactively report the bugs from the console and added test cases in the test-post_bug.R to test the post_bug function in the console to interact with the menu(). Yet, there is some work left in the post_bug function i.e., headers are needed to post on the real database as well as set up the API key in the function to prepare the post_bug function up and running with the development Bugzilla instance.

Some key visualizations are reported on document about the analysis of the Bugzilla database dump of the R-project

The source code for this report of bugRzilla is available in the bugzilla_viz GitHub repository.


Link to commits

The links to all the commits are given below:

Merged PRs:

Pending PRs:


Learning and challenges

This was my first time working with such a big and professional codebase and it was fun to fit things perfectly into it. To be honest, I was intimidated by it, when I saw it for the first time but as I worked through it, I understood its value. I learned so many new things in the last 10 weeks: switching to query the database via the API to query a database dump, learned and used new methods like testing functions and methods.

During this program, my code quality has improved significantly and the major credit for this goes to the detailed code reviews that are done here by the mentors.

The most challenging part as a participant in GSoC is the implementation of the new tools and technologies in my work. I have never written the unit test cases in R, but now I see myself getting better with those tools and technologies each day.

The mentors are really supportive whenever I got stuck in some phase I ask my doubt to them they quickly resolve my issue and their feedback on my work is helping me a lot to improve myself each day. The learning resources shared by them related to the project improved my skills and increased my knowledge. Apart from this, they share how I move forward in my career providing me with research opportunities, internships, and much more. And also userR! 2021 conference organized by the community volunteers for the community, supported by the R Foundation where I learned a lot.


Future Work

Currently, the aim is to update the post_bug function for posting the bug from the console itself. The progress can be tracked here. Another update will be on the improvement of current bar graphs to the plots like stacked bar graph, or complex graphs like spider web plots.


Wrapping Up

Working on this GSoC’21 project with the bugRzilla Project was an enjoyable experience. I want to express my gratitude to my mentors, Lluís Revilla Sancho and Heather Turner for their constant support and guidance throughout this program. They not just supported me but also showed me a path to move forward in my career. The mentors are so humble, respectful, and informative that I never missed out on learning new stuff.

Thank you so much! Working with you was a really amazing experience, and looking forward to continuing working on this project with you and see you around on other related projects.

I would like to thank Google for organizing such a wonderful program that helps in the growth of young developers like me, the whole of the R organization for accepting my proposal, and for letting me embark on this fantastic adventure. I am looking forward to contributing more to R in the future and learning more and more from them as well.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment