Work Experience
Research on fast and safe code instrumentation, memory profiling, object allocation site analysis, and memory optimization techniques for object-oriented programming languages.
• Profiled application memory usage and garbage collector (GC) behavior, tuning virtual machine parameters to reduce execution time by up to 7.3×. • Contributed to the development of a bytecode instrumentation library that rewrites programs to monitor and control software execution. • Developed a memory profiling framework that enables the implementation of custom profilers for application-specific memory analysis. • Designed an algorithm to automatically profile and rewrite applications, enabling memory optimizations such as pretenuring.
Research and development software engineer working on the Pharo programming language. Developed machine learning algorithms and tools for code transformation and pattern matching for the Moose platform.
• Lead developer of Pharo-AI, a machine learning library for the Pharo programming language. • Implemented machine learning, graph, and genetic algorithms, and produced extensive documentation, tutorials, and wiki content. • Wrote a book on graph algorithms: Pharo Graphs. • Developed code analysis and source transformation tools for Moose-IDE. • Optimized machine learning algorithms using the Foreign Function Interface (FFI), achieving speedups of up to 2103×.
Developed RewriteTools, a modular framework for advanced code search, pattern matching, and automated code transformation for the Pharo programming language.
Full-stack Software Developer
• Maintained and enhanced front-end and back-end applications for U.S.-based telecommunications systems using Node.js, Spring, and Angular.