Publications

. Use at Your Own Risk: The Java Unsafe API in the Wild. OOPSLA 2015, 2015.

PDF Code Project Video

. JNIF: Java Native Instrumentation Framework. In PPPJ’14, 2014.

PDF Code Slides Documentation

Posts

The template meta programming in C++ is a powerful mechanism, so powerful that it is turing-complete.

Although with some limitations. They have become even more expressive in C++11. They have added variadic template arguments.

How we have used variadic template arguments to implement a statically plugin system, to parse Java Class Files.

This is the main type of the parser:

ClassParser<
        ConstPoolParser,
        AttrsParser<
                SourceFileAttrParser,
                SignatureAttrParser>,
        AttrsParser<
                CodeAttrParser<
                        LineNumberTableAttrParser,
                        LocalVariableTableAttrParser,
                        LocalVariableTypeTableAttrParser,
                        StackMapTableAttrParser>,
                ExceptionsAttrParser,
                SignatureAttrParser>,
        AttrsParser<
                SignatureAttrParser>
> parser;

CONTINUE READING

Mastery Checking is a teaching strategy. Teaching assistant in Universita della Svizzera italiana. Here a normal course takes a midterm and a final exam. What is mastery check anyway? You evaluate by skills. Or why Mastery Checking is not the way to teach. To many checkings can be a problem for the student. Anyway, it is NOT a technique to teach, but a technique to evaluate. ##

CONTINUE READING

Enable/disable and configure widgets to customize your homepage.

CONTINUE READING

Matthias Felleisen from Northeastern University wrote an essay about how to introduce programming in a freshmen course. The essay — Growing a Programmer — introduces a software engineering approach from the very first day in class. The notes presented here are a sort of response to Growing a Programmer. They reflect my thoughts on the subject based on my experience as both a researcher and an educator. Although my experience is short, I believe I can contribute my two cents to the topic of how to Grow a Programmer.

CONTINUE READING

Projects

HSC

The Haskell Supercompiler aims to bring back supercompilation to Haskell.

JNIF

JNIF is the first native Java bytecode rewriting library. JNIF is a C++ library for decoding, analyzing, editing, and encoding Java bytecode.

Teaching

I am a teaching assistant for the following courses at Università della Svizzera italiana:

During my I also was teaching assistant for the following courses in the University of Buenos Aires:

  • Algo 1
  • Algo 2

Contact