I am associate professor at the Department of Informatics at Faculty of Sciences of University of Lisbon and member of Reliable Software Systems (RSS) research group at LASIGE.
I received a BSc in Applied Mathematics and Computer Science and a MSc in Applied Mathematics from Technical University of Lisbon (IST) in, respectively, 1991 and 1993, and a PhD in Informatics from University of Lisbon (FCUL) in 1999.
My research interests are in the area of formal methods for software engineering. These include mathematically based techniques for the specification, modelling and analysis of various types of software intensive systems, namely service-oriented systems and self-adaptive systems.
I am a member of the Editorial Board of ACM Transactions on Software Engineering and Methodology (TOSEM) and the Board of Academic Editors of PeerJ Computer Science.
I was the PC co-chair of FASE 2007 (Fundamental Approaches to Software Engineering), FMOODS/FORTE 2009 (IFIP International Conference on Formal Techniques for Distributed Systems), ASAAS 2011 (First Workshop on Assurances for Self-Adaptive Systems) and PC chair of ECSA 2017 (European Conference on Software Architecture). I was PC co-chair of COORDINATION 2023 (International Conference on Coordination Models and Languages), FormaliSE 2024 (International Conference on Formal Methods in Software Engineering and Journal-First Papers track of ICSE 2024.
I was keynote speaker at MEDI 2011 (International Conference on Model & Data Engineering), ICGT 2012 (International Conference on Graph Transformation) and IMM 2016 (Iberian Mathematical Meeting). I gave an invited tutorial on Software Architecture at the 2nd Latin-American School on Software Engineering in July 2015 and a course on Software Reliability Methods at ECI 2018 in July 2018.
My publications are available here and also on my DBLP and Google Scholar pages.
HeadREST — a expressive interface description language for RESTful APIs, designed to support the specification of important properties of RESTful APIs that cannot be expressed in existing IDLs for RESTful APIs such as Open API Specification. The tool that validates the wellformedness of HeadREST specifications is available in HeadREST Eclipse Plug-in. Also, you can try it here. At client-side, one can take advantage of HeadREST specifications by programming in SafeRestScript. This language is a type-safe subset of JavaScript equipped with primitives to natively support REST calls; these calls are statically validated against specifications of the corresponding APIs written in HeadREST. The SafeRestScript compiler, which transpiles valid programs into JavaScript, is available in SRS Eclipse Plug-in.
ConGu — a tool that determines at run-time whether a Java module (which may include generic classes) behaves as required by a specification. Specifications are property-driven, can be parameterized (by other specifications), and support the specification of ADTs independently of the programming language and programming paradigm.
May 2016 - April 2019. FCT.
May 2016 - April 2019. FCT.
Jan - Dez 2015. FCT, CMU|Portugal.
November 2010-May 2014. FCT, CMU|Portugal.
January 2010-July 2013. FCT.
January 2010-December 2011. FCT.
December 2007-December 2010. FCT.
September 2005-April 2010. IP, FP6, Global Computing Initiative.
March 2005-February 2008. FCT (POSI).
June 2004-May 2006. FCT (POSI).
January 2002-March 2005. FP5, IST, FET, Global Computing Initiative.
July 2000-June 2003. FCT (PRAXIS).
September 1997-November 1999. FCT (PRAXIS).
malopes at ciencias ulisboa pt
Departamento de Informática
Faculdade de Ciências da Universidade de Lisboa
Campo Grande 1749-016 Lisboa, Portugal
Office: 6.3.16 (3rd floor of building C6)
Telephone: +351 21 750 0604 Fax: +351 21750 00 84
Internal calls: 26316