Speaker Dr Tiago Cogumbeiro

Abstract GPUs offer parallelism as a commodity, but they are difficult to program correctly. Static analyzers that guarantee data-race freedom (DRF) are essential to help programmers establish the correctness of their programs (kernels). However, existing approaches produce too many false alarms and struggle to handle larger programs. To address these limitations we formalize a novel compositional analysis for DRF, based on access memory protocols. These protocols are behavioural types that codify the way threads interact over shared memory. Our work includes fully mechanized proofs of our theoretical results, the first mechanized proofs in the field of DRF analysis for GPU kernels. Our theory is implemented in Faial, a tool that outperforms the state-of-the-art. Notably, it can correctly verify at least 1.41× more real-world kernels, and it exhibits a linear growth, while others grow exponentially.

Bio Tiago is an assistant professor at UMass Boston. Tiago’s research helps programmers write software with fewer bugs. Tiago develops tools that localize errors, proves the correctness of algorithms, and mines how we write code to identify anomalies.


Agile Software Architecture Practices

Dr Eduardo Guerra | 03/03/2021 @ 1600 | Virtual | A BSEL Seminar

Abstract Working with software architecture in agile projects is hard: you need to start as fast as you can, but also need to have a sustainable base architecture that you will be able to evolve through the project. This talk presents a set of patterns identified on real projects, that focus on practices for creating and evolving a software architecture in the context of an agile project. These practices provide a set of tools to the team that can allow them to define an “enough” architecture at the beginning of the project and manage the state and its evolution during the project iterations.

Bio Eduardo Guerra is a Researcher at the Free University of Bozen-Bolzano (UniBZ, Italy) since 2020. He received the Master Degree in Electronic and Computer Engineering from the Instituto Tecnológico de Aeronáutica (ITA, Brazil) in 2005 defending a thesis on test code refactoring. In 2010 he received the PhD degree in Electronic and Computer Engineering from the Instituto Tecnológico de Aeronáutica (ITA, Brazil) in 2010 defending a thesis on metadata-based frameworks design. From 2007 to 2012, as an officer from the Brazilian Air Force, worked as a teacher for undergraduate and graduate courses in the Instituto Tecnológico de Aeronáutica (ITA, Brazil). From 2013 to 2019, worked as a researcher in the Associate Laboratory of Applied Mathematics and Computation (LABAC) in the field of software engineering in the National Institute for Space Research (INPE, Brazil). Eduardo Guerra’s research’s focus can be defined as “find better ways to develop software”, which can include programming approaches, architecture solutions, and development processes.


The Digital Transformation Journey: Contrasting Case Studies

Jawad Keshtgar – BMI Healthcare | 17/02/2021 @ 1600 | Virtual | Part of the SET Digital Series

Abstract Today people, organisation, and information technology are expected to operate as part of a seamless whole – both within and across organisational boundaries. This places stringent new demands on the knowledge, skills and technologies required to develop and manage such complex inter-related systems – in an ever increasing digital society.

As a result, Digital Transformation is fast becoming central to society particularly due to the rapid rate of digital convergence – especially in business. As society and technology develop in parallel, the most important skills for organisations is the ability to both understand and manage these complex interdependencies between I.T. and business in a dynamic globalised environment.

Bio A former Brunel University graduate in Information Systems, currently working at BMI Healthcare as the Lead Business and Change Analyst. Over the past eight years following graduation, my experiences have led me to work for the UK’s largest employer (NHS), be part of Europe’s largest IT project with Allianz and most recently work for the UK’s largest private healthcare organisation. My journey began at Brunel’s Science Park, with the start-up company ‘BTO Research’. My involvement with BTO, allowed me to valorise applied research techniques from academia to organisations; it is this relationship that motivates my personal mission to help foster closer relationship between Industry Leaders and Universities.


Quantum Computing Concepts: Towards a new Programming Paradigm

Dr Manuel A. Serrano | 18/11/2020 @ 1500 | Virtual | Part of the SET Digital Series

Abstract At the dawn of the last century, the basis of “quantum mechanics” was established by many exceptional scientists, such as Einstein, Schrödinger, Heisenberg or Pauli. This theory describes the behaviour of nature at subatomic levels (photons, electrons, etc). In 1982, Nobel laureate Richard Feynman asked: “What kind of computer are we going to use to simulate physics?” This is how the idea for quantum computing was born. Quantum computers attempt to use various “counterintuitive” principles such as superposition (objects can be in different states at the same time) and entanglement (objects can be deeply connected without any direct physical interaction) in the effort to provide faster computing speed. We can already use quantum computers and take advantage of their huge computation capacity to solve problems which are considered very difficult for today’s and tomorrow’s “classic” computers. This new computing paradigm has a great deal of direct applications, and many other potential ones. For example, applications include economics, chemistry, medicine, logistics, energy and agriculture. All the applications mentioned will not be accomplished with quantum computers alone; these applications need quantum software. In this seminar the fundamental quantum concepts are exposed, with special emphasis on those that must be known by those who wish to begin the approach to the world of Quantum Software Engineering and Programming. This seminar offers an interesting “tour” of Quantum Concepts such as Quantum Mechanics, Qubits, Hilbert Space and Quantum Circuits.

Bio Dr. Manuel Serrano is MSc and Ph.D. in Computer Science and is an associate professor at the University of Castilla – La Mancha (Spain) since 2000. Currently, he is Vice-Dean of the Department of Technologies and Information Systems since May 2014 and Coordinator of Business Internships of the master’s degree in Computer Engineering since 2013. Regarding his research interests, he is working on quantum software engineering, cybersecurity (especially in Big Data and IoT), data quality, software quality, and measurement and business intelligence.­­­ His scientific production is large, having published more than fifty papers in high-level journals and conferences. He has participated in more than 20 research projects, has conducted several invited speeches and have work in several transfer project with companies. Currently, he is a member of the aQuantum scientific research team (Alarcos Research Group).


We are pleased to announce our new seminar series starting on 18/11/2020

SET Digital: Software Engineering Transforming the Digital Future
We have a list of lined up topics and speakers to come ahead. But please if you would like to suggest new topics or have speakers in mind, let us know and we can incorporate. These are several of the topics:

  • Security and privacy
  • Big Code (Mining of software repositories)
  • Machine Learning and Big Data
  • Blockchain-oriented software engineering
  • Microservices and Surveillance
  • Green and Sustainable Software Engineering
  • Internet of Things

Our first and virtual seminar will be on the 18th of November at 3pm. For more details please click here.

Virtual Seminar: Experimenting with Classifiers

Speaker: Martin Shepperd


1. Much machine learning research is empirical in nature (analytic solutions are intractable).
2. So we conduct experiments…
3. where the competing algorithms are *treatments*, the datasets are *experimental units* and classification performance is the *response measure*,
4. and the experimental design is typically *repeated measures*.
5. This view of machine learning research should inform the study design and analysis.
6. Failure to do so helps explain the unreliability of many published `results’.

Virtual Seminar: Static Microservice Architecture Recovery Using Model-Driven Engineering

Speaker: Nuha Alshuqayran

Abstract: In recent years, the software development industry has witnessed effective changes which have led to the development of new architectural styles of software. In this respect, this seminar presents research work aimed to support the microservice architectural style. Software developed using the microservice architecture is complex and distributed and involves several technologies and components. Reverse engineering and specifically Architecture Recovery can aid in the understanding and maintenance of microservice systems. We present how we are developing our MicroService Architecture Recovery (MiSAR) approach, which allows software engineers to recover architectures of microservice systems. MiSAR follows Model Driven Engineering and includes different models such as modelling languages for Microservice architecture and undertakes transformation of models as a set of mapping rules for microservice based systems. In the seminar, we will demonstrate how our approach is capable of obtaining expressive architectural models of microservice systems in an effective way.

Virtual Seminar: Multiparty Session Programming with Global Protocol Combinators

Speaker: Dr Rumyana Neykova

Abstract: Checking compatibility of concurrent programs, i.e. if two or more processes can communicate without errors, is a pressing problem in the verification community.  State-of-the-art verification tools are limited to model-checkers and SMT solvers, which are foreign to many developers and too computationally expensive to use in practice.
In this talk, I will demonstrate a new approach to programming and verification of concurrent and distributed programs. The approach relies on a few compositional constructs, called global protocol combinator (GPC). I will show an encoding of a popular theory for communicating programs into GPC.  Such encoding reveals that the problem of checking compatibility can be reduced to the standard problem of variant/record subtyping. This realisation allows type systems of existing general-purpose programming languages to be utilised for static detection of concurrency bugs, without the need for external model checkers. I will show an implementation of our encoding in native OCaml and will discuss its expressive power and performance. We have tested the approach by implementing and verifying a plethora of concurrency algorithms, as well as several popular communication protocols (DNS, OAuth, and SMPT).