Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by HASLab

2021

ATOCS: Automatic Configuration of Encryption Schemes for Secure NoSQL Databases

Authors
Ferreira, D; Paulo, J; Matos, M;

Publication
2021 17TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2021)

Abstract
Secure databases have emerged to securely store and process sensitive data at untrusted infrastructures (e.g., Cloud Computing). To be secure and efficient, the encryption schemes used by these systems must be carefully chosen. Indeed, this task requires expertise both in databases and security, and is currently being done manually, which is time-consuming and error-prone and can lead to security violations, poor performance, or both. This paper presents ATOCS, a novel framework that analyses the applications' code and, from the inferred requirements, determines the best combination of encryption schemes and related configurations for the underlying secure NoSQL database. Its design is modular and extensible thus facilitating the support of different applications and database solutions. Our evaluation with real-world applications shows that ATOCS is fast (it takes 44 seconds to analyse more than 12K LoC), accurate, and simplifies the configuration of secure databases.

2021

Pods-as-Volumes: Effortlessly Integrating Storage Systems and Middleware into Kubernetes

Authors
Faria, A; Macedo, R; Paulo, J;

Publication
WOC '21: Proceedings of the Seventh International Workshop on Container Technologies and Container Clouds, Virtual Event, Canada, 6 December 2021

Abstract

2021

S2Dedup: SGX-enabled Secure Deduplication

Authors
Esteves, T; Miranda, M; Paulo, J; Portela, B;

Publication
IACR Cryptol. ePrint Arch.

Abstract

2021

Soteria: Privacy-Preserving Machine Learning for Apache Spark

Authors
Brito, C; Ferreira, P; Portela, B; Oliveira, R; Paulo, J;

Publication
IACR Cryptol. ePrint Arch.

Abstract

2021

Rosy: An elegant language to teach the pure reactive nature of robot programming

Authors
Pacheco, H; Macedo, N;

Publication
International Journal of Robotic Computing

Abstract
Robotics is very appealing and is long recognized as a great way to teach programming, while drawing inspiring connections to other branches of engineering and science such as maths, physics or electronics. Although this symbiotic relationship between robotics and programming is perceived as largely beneficial, educational approaches often feel the need to hide the underlying complexity of the robotic system, but as a result fail to transmit the reactive essence of robot programming to the roboticists and programmers of the future. This paper presents Rosy, a novel language for teaching novice programmers through robotics. Its functional style is both familiar with a high-school algebra background and a materialization of the inherent reactive nature of robotic programming. Working at a higher-level of abstraction also teaches valuable design principles of decomposition of robotics software into collections of interacting controllers. Despite its simplicity, Rosy is completely valid Haskell code compatible with the ROS~ecosystem. We make a convincing case for our language by demonstrating how non-trivial applications can be expressed with ease and clarity, exposing its sound functional programming foundations, and developing a web-enabled robot programming environment.

2021

Refactoring Java Monoliths into Executable Microservice-Based Applications

Authors
Freitas, F; Ferreira, A; Cunha, J;

Publication
SBLP'21: 25th Brazilian Symposium on Programming Languages, Joinville, Brazil, 27 September 2021 - 1 October 2021

Abstract
In the last few years we have been seeing a drastic change in the way software is developed. Large-scale software projects are being assembled by a flexible composition of many (small) components possibly written in different programming languages and deployed anywhere in the cloud - the so-called microservice-based applications. The dramatic growth in popularity of microservice-based applications has pushed several companies to apply major refactorings to their software systems. However, this is a challenging task that may take several months or even years. We propose a methodology to automatically evolve a Java monolithic application into a microservice-based one. Our methodology receives the Java code and a proposition of microservices and refactors the original classes to make each microservice independent. Our methodology creates an API for each method call to classes that are in other services. The database entities are also refactored to be included in the corresponding service. The initial evaluation shows that our tool can successfully refactor 80% of the applications tested. © 2021 ACM.

  • 47
  • 251