Programming Languages

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.

signatr: A Data-Driven Fuzzing Tool for R

The fast-and-loose, permissive semantics of dynamic programming languages limit the power of static analyses. For that reason, soundness is often traded for precision through dynamic program analysis. Dynamic analysis is only as good as the available …

Eval in R

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

What We Eval in the Shadows

Most dynamic languages allow users to turn text into code using various functions, often named `eval`, with language-dependent semantics. The widespread use of these reflective functions hinders static analysis and prevents compilers from performing …