Tutorials will be held in Meeting and Translation room in Central and Rectorate Building Edificio Central e da Reitoria
Tutorial 1: Quality Issues in Blockchain and DLT Apps
Monday, September 11th, 8:45 - 10:30
Abstract
Quality is crucial in the context of blockchain and distributed ledger technology (DLT). Software Engineering practices and, specifically, quality assurance issues are not new and, as it usually happens in more technology-mature applications, the goal is to develop: reliable, secure, interoperable, modifiable, maintainable, and compliant applications, and, most importantly, to develop testable applications!
Although all the best practices and current approaches to quality assurance in software development practices should be followed, the fact is that some focal points are quite different in the Blockchain and DLT context. Thus, both tools and best practices should tackle both the functional and non-functional requirements as well as the constraints in place.
Security vulnerabilities can be exploited by hackers and can result in serious data breaches, financial losses and even, identity theft. The same happens with errors, delays or systems failures, that turn platforms in unreliable systems. On the other hand, two of the bigger challenges in this context are related to:
interoperability - new infrastructures and technologies that appear on a daily basis should be designed to interact with other systems - standards are in order and quality is highly dependent on them;
regulatory compliance - despite the financial environment that coined the blockchain term, non-compliance with the markets and the law might lead to fines, legal p4enalties and reputational damages.
code quality - the base for modifiability and maintainability - is critical in smart contracts.
In this workshop we will guide you into the major differences related to the testability of blockchain and DLT applications. We will present you with some of the most effective tools regarding static analysis of code, unit and integration testing andperformance benchmarking for this context (e.g. Slither, Echidna, Manticore, Hyperledger Caliper, among others).
The main goals of the workshop are:
Understand Quality Attributes in the Blockchain and DLT Applications context;
Understand the major differences related to the testability in this context;
Use the most popular static analysis tools specifically for Smart Contracts correctness;
Develop unit and integration testing to augment code coverage in these projects;
Analyse preliminary results related to performance and security analysis of Blockchain and DLT apps.
We recommend that you have your own laptop to practice on.
It is recommended that you have basic knowledge of blockchain and DLT as well as test automation, to attend this workshop.
Catarina I. Reis holds a PhD in Computer Science from the Universitat Politècnica de Catalunya. She has been a Professor at the Polytechnic of Leiria since 2002, and, more recently, she joined VOID Software, where she is the Head of R&D. Her research topics include mHealth, Blockchain and Distributed Ledger Technologies, Agile and Software Engineering Practices. She is also a frequent contributor as a reviewer and author of publications in conferences and journals.
Affiliation
ciTechCare - Center of Innovative Care and Health Technology, Polytechnic of Leiria - Leiria | Portugal
VOID Labs, VOID Software - Leiria | Portugal
Bernardo J. R. Figueiredo holds a degree in Computer Science from Polytechnic of Leiria. He is currently preparing to defend his master thesis on Agro Precision - A framework for Precision Agriculture on an IoT Blockchain, which has drawn attention for its potential to transform the agricultural industry. He has been a Full Stack Developer working with various languages from Python, Java, .NET and recently joined VOID Software where he is a Backend Developer and Blockchain Developer. His topics of interest are Blockchain, Distributed Ledger Technologies, dApps, Spring Boot, Quarkus & Solidity Best Practices. He is also a current contributor as an author of publications in conferences and journals.
Affiliation
VOID Labs, VOID Software - Leiria | Portugal
Tutorial 2: Visual Milestone Planning for Agile Environments
Monday, September 11th, 10:45 - 13:15
Abstract
Any project of any size or consequence needs an organizing principle that is understood and shared by those working on it as well as by their stakeholders. Without such a principle, project members struggle with what to do next and users and sponsors with what to expect by when. The Visual Milestone Planning (VMP) is a collaborative method for the construction of robust, results oriented, end-to-end plans suitable for agile projects that fulfills such a purpose.
VMP involves the whole team in the formulation of the plan through the direct manipulation of its planning artifacts: product backlog items, milestones, and dependencies, to create a staffing plan from which milestones dates are later derived. VMP uses a novel construct called the milestone planning matrix to explicitly map backlog items to the milestones to which they contribute. Plans created this way are less likely to miss key work elements and have greater buy-in, than plans created in solitude and later handed down to the team. The plan created is subsequently used by the team to guide the selection of backlog items during iteration planning and as a communication and coordination tool with project sponsors and external teams necessitating to synchronize their work.
Participants will learn to:
• Build a hierarchical product backlog.
• Identify and define milestones.
• Construct a robust, end-to-end, result oriented plans.
• Track and report progress using the plan.
• Use milestones to drive iteration planning.
Target audience
Practitioners and academics interested in learning a teachable planning technique applicable to agile
projects. The presentation assumes familiarity with Scrum or other agile methods.
Eduardo Miranda
Dr. Eduardo Miranda is a Teaching Professor at Carnegie Mellon University where he teaches courses in project management and agile software development at the Master of Software Engineering Program. Dr. Miranda’s areas of interest include project management, quality, and process improvement.
Before joining Carnegie Mellon in 2008, Dr. Miranda worked for Ericsson where he was instrumental in implementing Project Management Offices (PMOs) and improving project management and estimation practices. This work is reflected in the book “Running the Successful Hi-Tech Project Office” published by Artech House in March 2003.
Dr. Miranda holds a PhD. in Software Engineering from the École de Technologie Supérieure, Montreal and Masters degrees in Project Management and Engineering Management from the University of Linköping, Sweden and the University of Ottawa, Canada, and a Bachelor of Science from the University of Buenos Aires, Argentina. He has published over fifteen papers in software development methodologies, estimation, and project management.
Website
https://mse.s3d.cmu.edu/facstaff/faculty1/core-faculty/miranda-eduardo.html