Hardcore programmer, correct software advocate, passionate about squeezing every exquisite ounce of performance out of applications.

During the first year of my MSc. I specialized in Parallel and Distributed Computing (HPC), where I learned to profile, identify bottlenecks and parallelize code for CPU and GPU architecture using OpenMP, CUDA, MPI, etc., and Formal Methods in Software Engineering, where my group work on the formal verification of a standard C library culminated in the publication of my first paper.

I've developed a particular interest for graph algorithms, which also was the topic of my MSc. dissertation.

HPC and Formal Methods is not the usual route for software engineers. Most software engineers end up doing web and mobile development. Nevertheless, I managed to acquire some experience in these areas by being Project Manager (in the context of my MSc.) of a web application, and also getting my hands dirty by being part of the development team.

I currently am a consultant at Deloitte, working on a project pertaining to credit risk and impairment in the banking industry.

2015

PDP'15 - A Generic and Highly Efficient Parallel Variant of Borůvka's Algorithm

Cristiano da Silva Sousa, Artur Mariano and Alberto Proença

23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, 2015

March 4 - 6, 2015, Turku, Finland

Acceptance Rate: 28%

2014

Efficient sequential and parallel versions of MST-solvers for multi-core CPU-chips and GPUs

MSc. Dissertation in Informatics Engineering

University of Minho, Braga, Portugal

NFM'14 - Formal Verification of kLIBC with the WP Frama-C Plug-in

Nuno Carvalho, Cristiano da Silva Sousa, Jorge Sousa Pinto and Aaron Tomb

6th NASA Formal Methods Symposium, 2014

April 29 - May 1, 2014, NASA Johnson Space Center, Houston, Texas

Acceptance Rate: 35%

Software

kLIBC static verification with Frama-C and WP

kLIBC 2.0.2 source annotated with ACSL clauses to provide static verification of a subset of functions from <string.h> and <stdio.h>

Generic Borůvka's algorithm

Implementations provided for multi-core CPUs and GPUs

Sequential CPU implementations of MST-Solvers

Includes implementations for Borůvka's, Kruskal's and Prim's algorithms.