Seminars


Upcoming Seminars

Coming soon…

 

Past Seminars

 

Software architecture to Everything

Nour Ali | 12/06/2019 @ 1400 | WLFB207/208

Software architecture is the structure or structures of a software system. A software architecture of a system is, usually, represented by a model that graphically shows software elements and their interactions. Explicit software architectural models are used as critical knowledge to ensure the quality, understanding and evolution of systems.
In this talk, I will motivate you to use software architecture as a tool to manage software. I will demonstrate how we can combine software architecture with formal methods, static/dynamic analysis, optimization techniques and others. I will first start by showing the importance of an architectural model during the evolution and maintenance of a legacy system. I will then focus on architectural models of adaptable, distributed and mobile systems. I will also give you an overview of the latest projects I am working on such as the recovery of microservice architectures, the support of smart mobile and Internet of Things applications and the self-adaption to resource constraint environments.

The Relevance of Application Domains in Empirical Findings

Andrea Capiluppi | 08/05/2019 @ 1400 | WLFB207/208

Research on empirical software engineering has increasingly used data from online repositories or collective efforts. The latest trends for researchers is to gather as much data as possible to (i) prevent bias in the representation of a small sample, (ii) work with a sample as close as the population itself, and (iii) showcase the performance of existing or new tools in treating vast amount of data. The effects of harvesting enormous amounts of data have been only marginally considered so far: data could be corrupted; repositories could be forked; and developer identities could be duplicated. In this paper we posit that there is a fundamental flaw in harvesting large amounts of data, and when generalising the conclusions: the application domain, or context, of the analysed systems must be the primary factor for the cluster sampling of FOSS projects. In this talk we analyse a sample of software systems, and using an existing approach based on Latent Dirichlet Allocation (LDA), we derive their application domains. We extract a suite structural OO metrics from each project, and cluster projects by domains: we show that most of the chosen metrics come from different populations, and are based on the application domains.

A Brief History of Types

Rumyana Neykova | 06/03/2019 @ 1400 | WLFB207/208

Types are one of computing’s most successful concepts, they exist from the oldest to the newest programming languages. Types act as the fundamental unit of compositionality, and play important role in all aspects of software, from design to optimisation. Unfortunately, types are probably the last thing that comes to your mind when you think about distributed systems. In this talk, I will change this misconception. I will (hopefully) convince you that types can be used to understand, test, specify and verify distributed systems. In particular, I will give you a crash course on session types, which were born as types for distributed processes. We will discuss the history of session type, the fundamental meaning of communication, and how to develop distributed systems that we can trust.

Software Engineering? Are you kidding me?

Giuseppe Destefanis | 13/02/2019 @ 1400 | WLFB207/208

Software development is a complex human process which has, as a final goal, the creation of a complete working application. Software Engineering encompasses all the activities related to software development from conceiving to maintaining the product. Calling software a product, however, highlights all the difficulties of the subject, with “immateriality” being the first one. Engineering is defined as “the branch of science and technology concerned with the design, building, and use of engines, machines, and structures.” (Oxford Dictionary). Is the combination of the two words “Software” and “Engineering” an oxymoron?