Fuzzing R

R is a vector-oriented, dynamic language, mostly used in data-science. It is difficult to statically analyze, and so we mainly use dynamic techniques to gather insights about R programs. One instance of them is fuzzing.

Finding NA in serialized R values

In a previous post, I explained how to test a C++ function, find_na, used in a database for R values. find_na checks if NA is present or not in a previously serialized R value.

Testing C++ Code in R Packages

When you write a package in R, you probably write tests. A popular package for unit tests with R is testthat,1 with the final invocation: devtools::test() If your package also includes native code, let’s say, C++, you can test it by testing the R API that exercises the native functions.

Eval in R

The R language eval function is powerful and makes analysis difficult. WWhat are the usage of eval in R?