Summary of the bugRzilla project under the R project for statistical computing
Student: Piyush Kumar
Mentors: Lluís Revilla Sancho and Heather Turner
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.
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.
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().
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.
The links to all the commits are given below:
Merged PRs:
- Removed rappdirs dependency
- Check
api
functions to increase Code Coverage - added table of contents and datatables
- R bugzilla Analysis Report
Pending PRs:
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.
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
.
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.