Tiago Santos – Curriculum Vitæ

Propaganda
Tiago Santos
Curriculum Vitæ
B [email protected]
Í tiago.santos.com.pt
A tvcsantos
Personal Information
Full Name
Birth Date
Gender
Nationality
Tiago Vieira Correia dos Santos
December 24, 1987
Male
Portuguese
Education
2010 – Present Advanced Studies in Computer Science, Faculdade de Ciências e Tecnologia, Universidade Nova
de Lisboa.
Scholarship granted by Fundação para a Ciência e Tecnologia, Ministério da Educação e Ciência
Supervisor: Prof. Luís Caires
2008 – 2010 MSc. in Computer Science, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa.
Final grade: 18/20.
Dissertation Title: Linguagem de Especificação Leve Hoare-Separação para Java.
Advisor: Prof. Luís Caires
2005 – 2008 BSc. in Computer Science, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa.
Final grade: 17/20.
Merit Scholarship (2005/2006), granted by the University.
2002 – 2005 High School Diploma - General Sciences, Escola Secundária Cacilhas-Tejo, Cacilhas, Almada.
Final grade: 19/20.
Work Experience
2009 – Present Research Assistant, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa.
During this period I have worked on static analysis techniques for reasoning about imperative programs
with data structures and aliasing. One of the main novelties of this approach is the usage of a specification
language closer to a programming language, integrated in the programming environment and tailored to
an automatic verification process during application development. In this approach we ease the burden of
complex annotations in programs and the verification is automatic.
Supervisor: Prof. Luís Caires.
Scholarship Holder at Departamento de Informática / NOVA-Lincs (formerly CITI)
2009 – Present Teaching Assistant, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa.
{
{
{
{
{
{
Object Oriented Programming – Spring Semester 2014/2015
Introduction to Programming (B) – Winter Semester 2012/2013
Programming Languages and Environments – Spring Semester 2011/2012
Introduction to Programming (C) – Winter Semester 2010/2011
Introduction to Computers and Programming – Spring Semester 2010/2011
Computational Logic – Spring Semester 2009/2010, Winter Semester 2015/2016
Technical Skills
Programming Java (Expert), Scala (Expert), OCaml (Proficient), C (Proficient), C++ (Proficient), JavaScript
Languages (Proficient), SQL (Proficient), Python (Intermediate)
Operating Microsoft Windows, Linux, Mac OS
Systems
Expertise Software Construction, Programming Languages and Type Systems,
Static Analysis Techniques, and Automatic Program Verification.
Tools and SMT - Z3, SVN, Git, LaTeX, HTML, XML, CSS, Arduino
Frameworks
Soft Skills
{ Good Communication Skills
{ Critical Thinking
{ Teamwork and Collaboration
{ Research, Problem Analysis and Solving
Projects
SpecJava.
This prototype was developed during my Master’s Thesis and extends the type-based verification
of Java towards more informative logical reasoning, integrating specifications (contracts) in the
programming language. This specification language is inspired on JML and Spec#, but simpler and
lightweight because it is based on propositional logic.
Website: http://tiago.santos.com.pt/specjava
Main technologies used: Java, CVC3, Polyglot, Ace
FunSpec.
In this prototype we develop a new assertion language, used to specify imperative programs, that is
closer to a programming language, which is easier to use for programmers and tailored to automatic
verification. It checks “logical” relations between assertions, that is, if an assertion is equivalent to
or implies other assertion, which is a fundamental property on the definition of a decision procedure
for automatic program verification.
Website: http://tiago.santos.com.pt/funspec3
Main technologies used: Scala, Z3, PHP, JavaScript, jQuery, Ace
ImProVe.
This prototype checks that imperative programs with data structures and aliasing comply to their
specifications (contracts), that are expressed using the FunSpec assertion programming language.
Website: http://tiago.santos.com.pt/improve
Main technologies used: Scala, Z3, PHP, JavaScript, jQuery, Ace
Publications
Ligthweight Type-Like Hoare-Separation Specs for Java, In Proceddings of InForum, Universidade do Minho, 2010.
Linguagem de Especificação Leve Hoare-Separação para Java, Master Thesis, Faculdade de
Ciências e Tecnologia, Universidade Nova de Lisboa, 2010.
Languages
Portuguese Fluent
English Advanced
Native Language.
Speaking, Reading and Writing.
Extra-Curricular Acitvities
2010 Volunteer, ExpoFCT 2010 @ DI, UNL – FCT.
This event is an open day where several high schools visit FCT/UNL campus to participate in activities and
experience the university research, innovation and technological environment. I helped in the organization of
an activity that consisted on teaching basic concepts of programming (e.g. Scratch – A visual programming
language).
Download