Leandro Facchinetti

Research

Publications§

Relative Store Fragment for Singleton Abstraction§

Leandro Facchinetti, Zachary Palmer and Scott F. Smith.
24th Static Analysis Symposium. 2017.
A singleton abstraction occurs in a program analysis when some results of the analysis are known to be exact: an abstract binding corresponds to a single concrete binding. In this paper, we develop a novel approach to constructing singleton abstractions via relative store fragments. Each store fragment is a locally exact store abstraction in that it contains only those abstract variable bindings necessary to address a particular question at a particular program point; it is relative to that program point and the point of view may be shifted. We show how an analysis incorporating relative store fragments achieves flow-, context-, path- and must-alias sensitivity, and can be used as a basis for envi- ronment analysis, without any machinery put in place for those specific aims. We build upon recent advances in demand-driven higher-order pro- gram analysis to achieve this construction as it is fundamentally tied to demand-driven lookup of variable values.

Practical Demand-Driven Program Analysis with Recursion§

Leandro Facchinetti.
Research project report to fulfill a qualifying requirement of the Ph.D. program at The Johns Hopkins University. 2016.
Demand-Driven Program Analysis (DDPA) is a context-sensitive control-flow analysis for higher-order functional programming languages in the same space as k-CFA and related analyses. DDPA is provably sound and polynomial, but that alone does not guarantee its applicability to real-world programs. This project studies DDPA’s practicality in two dimensions: expressiveness (the analysis closely approximates the run-time) and performance (the analysis is fast to compute). To address expressiveness, we extended the analysis to directly support recursion, eliminating the need for encodings. To address performance, we developed a higher-level programming language that compiles to DDPA’s core language, ported over benchmarks that exercise all its features, and measured the reference implementation’s performance, comparing to other state-of-the-art program analyses. DDPA is competitive and, in some cases, faster than the alternatives.

Higher-Order Demand-Driven Program Analysis—Artifact§

Leandro Facchinetti, Zachary Palmer and Scott F. Smith.
Dagstuhl Artifacts Series. 2016.
This artifact is a proof-of-concept implementation of DDPA, an on-demand program analysis for higher-order functional programs. The implementation, written in OCaml, includes a parser, evaluator, and DDPA analysis for the language defined in the companion paper (including the proper record semantics extension). The analysis may be performed using different levels of precision as specified by the user and is capable of rendering the control flow graphs and pushdown systems using the GraphViz language DOT. This artifact was used to verify the conclusions of the companion paper and produces visualizations matching those figures in the companion paper’s overview.

Higher-Order Demand-Driven Program Analysis—Artifact§

Leandro Facchinetti, Zachary Palmer and Scott F. Smith.
30th European Conference on Object-Oriented Programming (ECOOP). 2016.
This artifact is a proof-of-concept implementation of DDPA, an on-demand program analysis for higher-order functional programs. The implementation, written in OCaml, includes a parser, evaluator, and DDPA analysis for the language defined in the companion paper (including the proper record semantics extension). The analysis may be performed using different levels of precision as specified by the user and is capable of rendering the control flow graphs and pushdown systems using the GraphViz language DOT. This artifact was used to verify the conclusions of the companion paper and produces visualizations matching those figures in the companion paper’s overview.

What is Your Function? Static Pattern Matching on Function Behavior§

Leandro Facchinetti, Pottayil Harisanker Menon, Zachary Palmer, Alexander Rozenshteyn and Scott F. Smith.
The 17th Symposium on Trends in Functional Programming (TFP 2016). 2016.
We define a new notion of function pattern, which supports run-time pattern matching on functions based on their behavior. The ability to run-time dispatch on function type information enables new programmer expressiveness, including support of overloading on higher-order functions as well as other useful patterns.

We formally present a type inference system for function patterns. The system answers questions of function pattern matching by recursively invoking the type inference algorithm. The recursive invocation contains some delicate issues of self-referentiality that we address.

Pesquisa e Desenvolvimento de Robôs Táticos para Ambientes Internos (Research and Development of Tactical Robots for Indoor Environments)§

Fernando Osório, Denis Wolf, Kalinka Castelo Branco, Jó Ueyama, Gustavo Pessin, Leandro Fernandes, Maurício Dias, Leandro Couto, Daniel Sales, Diogo Correa, Matheus Nin, Leandro Lourenço Silva, Leonardo Bonetti, Leandro Facchinetti and Fabiano Hessel.
Internal Workshop of INCT-SEC. 2011.

Sistema de Navegação Visual Baseado em Correlação de Imagens Visando a Aplicação em Veículos Autônomos Inteligentes (Visual Navigation System Based on Image Correlation Targeted to Intelligent Autonomous Vehicles)§

Leandro Facchinetti and Fernando Santos Osório.
18º Simpósio Internacional de Iniciação Científica da Universidade de São Paulo (18th International Scientific Initiation Symposium from Universidade de São Paulo). 2010-11.

Navegação Visual de Robôs Móveis Autônomos Baseada em Métodos de Correlação de Imagens (Visual Navigation of Autonomous Mobile Robots Based on Image Correlation Methods)§

Leandro Facchinetti and Fernando Santos Osório.
III Workshop on Computational Intelligence—WCI. Joint Conference 2010—SBIASBRNJRI. 2010-10-24.

Pesquisa e Desenvolvimento de Robôs Móveis Autônomos com Navegação Baseada em Correlação de Imagens (Research and Development of Autonomous Mobile Robots with Image-Correlation-Based Navigation)§

Leandro Facchinetti and Fernando Santos Osório.
IV Workshop de Iniciação Científica e Tecnológica de Computação (WICT) (IV Scientific and Technologic Initiation Workshop). 2010-09-22.

Service§

Reviewer§

ACM Computing Surveys (CSUR). 2016.