Research conducted at HASLab - High-Assurance Software Laboratory is focused on the design and development of software for critical systems, where a failure, caused by surrounding factors or human error, or even attacks by hostile entities can have catastrophic consequences.

Such systems can be found in essential services in current society, such as in basic infrastructures, transportation, health, communications, public administration and service networks in general. These systems are controlled by computer programs whose correct, continued and safe operation must be ensured.

To achieve software reliability, HASLab conducts research on three pillars of Information Technology: Software Engineering, Distributed Systems and Cryptography and Information Security.

Software Engineering – Develop research in methods, techniques and tools for rigorous software development that can be applied to the internal functionality of a component, its composition with other components, as well as the interaction with the user.

Distributed Systems -Improve the reliability and scalability of the software components by exploring properties inherent to the distribution and replication of computer systems.

Cryptography and Information Security - Minimize the vulnerability of each software component from hostile attacks to computer systems by providing them with structures and cryptographic protocols, whose security properties are formally proven.