▸ Week 4 & Community Bonding Period - First changes to RcppDeepState
Pull requests and changes made in the Community Bonding Period and in the first week
Introduction
This post is meant to be a reference for the work I’ve done in the Community Bonding Period and the first coding period’s first week.
Weeks 1-3 (Community Bonding Period)
I spent this three weeks of Community Bonding Period interacting with my mentors, familiarizing myself with the tools and working on high priority tasks.
Using this blog as a way to familiarize myself with the tools, I started working with DeepState, showing some basic examples and moving step by step with more complex one. Then I gave a brief introduction to Valgrind and showed how it might be used in conjunction with DeepState to produce a sophisticated fuzz testing toolbox. When these three powerful tools —Valgrind, DeepState, and Rcpp— were integrated, I introduced Rcpp and finally RcppDeepState.
Reference
Blog posts:
- Sample DeepState fuzz test
- DeepState introduction
- Advanced fuzz testing with DeepState and Valgrind
- Introduction to RcppDeepState
- Rcpp package fuzz testing with RcppDeepState
Pull requests:
Issues:
External issues:
Week 4
I have spent the most of this first week focusing on some important tasks that I discovered during the Community Bonding Period.
Everything specifically began when I discovered that debug symbols were not present by default on some systems. This led to the creation of the Makevars file inside the src
directory of each package, before R CMD INSTALL
is run. Based on this I created a custom workflow to check if debug symbols are included by default or not on the system. I discovered several bugs in the RcppDeepState library while developing this workflow and was able to effectively fix them.
A detailed description of the changes and problems I encountered in this first week can be found in pull request #6. I report some of them here:
- solved the problem that on some platforms debug symbols are not included by default;
- solved some problems with
RInside
. In detail I moved the definition ofRInside
outside of theTEST
function in order to preserve the seeds and to avoid theR is already initialized
error; - implemented the possibility to add a seed argument to the
deepstate_harness_compile_run
function; - solved the problem of the Segmentation fault that prevented DeepState to create the output files;
Reference
Blog posts:
Pull requests:
Issues: