Keynotes
QUATIC 2024 (Pisa, Italy)
Letizia Jaccheri
Norwegian University of Science and Technology, Norway
we Should All Be Feminists
Abstract"... This keynote will provide participants with a clear definition and understanding of Software Engineering and its intersection with intersectionality, which is certainly important for improving the quality of products and processes.
This work is partially supported by the EUGAIN COST Action CA19122 - European Network for Gender Balance in Informatics."
Sigrid Eldh
Ericsson, Sweden
Abstract"This keynote will help you to achieve quality for any software system, by following an easy 10-step approach. Defining what, how, when and with whom provides a roadmap for a successful change. This talk will provide you with key contributors to attain quality, a clear strategy, and a way to champion your goals and describe what you need to overcome challenges. Through a set of easy to grasp methods you can utilize, combined with new technology, you will be equipped to venture further on the quest to get high-quality systems at a decent cost. A lifetime of transforming and improving systems quality will be used to exemplify the journey, including the current best know-how from research and practice of areas from e.g., quality metrics, automation to AI-augmentation will be leading you to clear improvements and success."
Stefano Cresci
IT-CNR, Italy
Abstract"This talk explores experiences and lessons learned from my academic journey, first as a PhD student and up to now as Principal Investigator. I will discuss my early steps and the first challenges I faced as a PhD student in the area of social media analytics. I will discuss how I transitioned to post-doc, increasing my collaborations and focusing my research on the study and contrast to online harms. I will explain what moved me to pursue my own ideas and interests, which led me to seek independent funding. This will bring us to the current days, where I lead multiple projects, including a prestigious ERC project on content moderation, introducing new challenges and opportunities. By sharing my experiences, failures, and accomplishments towards fostering the quality of online information and the safety of online environments, I hope to empower and inspire the next generation of researchers to pursue innovative and interdisciplinary research."
QUATIC 2023 (Aveiro, Portugal)
José Carlos Santos
Microsoft, Portugal
Revolutionizing the way we code?
Abstract"In this talk, we will explore the exciting new world of AI-assisted programming and how it's revolutionizing the job of developers and software engineers. AI-assisted programming tools are underpinned by large language models trained on terabytes of source code from popular programming languages, e.g. Python, Javascript, C#, Java, C++, among many others. In the talk, we will demonstrate the capabilities of GitHub Copilot X, an advanced AI-pair programmer tool from Microsoft that integrates in the IDE and significantly improves the coding experience. Through a live demonstration, we will show how Copilot X can solve complex programming problems and streamline the development and testing process."
Davide Taibi
University of Oulu, and Tampere University, Finland
organizational and quality perspective
Abstract"Migration to microservices has become very popular over the last few years. Companies migrate for different reasons, for example, because they expect to improve the quality of their system or facilitate software maintenance. However, migrating from a monolithic system to microservices requires deep system refactoring. Therefore, such a migration usually has a significant impact on the organization and on the quality of the system. Moreover, recently, companies have started to revert their systems from microservice to monolithic since they have not achieved the expected benefits of microservices.
In this talk, we will go thru success and failure cases, providing the academic and practitioners’ perspectives on the organizational and quality aspects."
QUATIC 2022 (Talavera de la Reina, Spain)
and how researchers can help
Abstract"Software engineering is and will always be a craft. That being said, we are now closer than ever to make it a more science-based, evidence-based profession. To get there faster, we need a strong alignment between industry and academia. As someone that moved from industry to academia and back, I have had the opportunity to learn from both sides.
In this talk, I will describe, through many examples from industry and academia, how both worlds work. From the practical side, I'll show how engineering organizations take technical and organizational decisions. From an academic perspective, how to tackle their challenges.
It is my hope that, after this talk, academics and practitioners will understand each other better. Because, remember: we are better together."
Advances and Open Challenges
Abstract"Software development is an intellectual activity requiring creativity and problem-solving skills, which are known to be influenced by emotions. Developers experience a wide range of affective states during programming tasks, which may have an impact on their job performance and wellbeing. Early recognition of negative emotions, such as stress or frustration can enable just-in-time intervention for developers and team managers, in order to prevent burnout and undesired turnover. In this talk, I will provide an overview of recent research findings of sentiment analysis in software engineering (SE), address the open challenges, and provide empirically-based guidelines for safe (re)use of SE-specific tools in order to obtain meaningful results."
Sergio Segura
University of Seville (US), Spain
the metamorphic way
Abstract"Software quality assessment is becoming increasingly challenging due to the complexity and scale of current software systems. One of the main obstacles lies in the difficulty of determining whether the program's output is correct or not. This is known as the oracle problem, and the programs suffering from it are often referred to as untestable. Metamorphic testing circumvents the oracle problem, and therefore allows detecting bugs in "untestable" programs, following an original idea: instead of analysing program outputs individually, metamorphic testing exploits the relationships between the inputs and outputs of two or more program executions. More than two decades after its introduction, metamorphic testing has become a fully-fledged testing technique with successful applications in multiple domains, including autonomous vehicles, search engines, web APIs, compilers, AI-driven programs, cyber-physical systems, and simulators. Success stories have been reported in large companies such as Adobe, Facebook, and Google. Recent research efforts explore the applications of metamorphic testing beyond functional testing, revealing the potential of the technique for general software quality assessment. In this talk, Sergio will guide us through the area of metamorphic testing, including an introduction to the technique, its evolution, successful applications, and open problems."
QUATIC 2021 (Online Conference)
Martin Shepperd
Brunel University London, UK
Abstract"A major driver for much of our software quality assurance and testing activity is the intuition that
defects are not distributed uniformly. Thus the ability to identify the few components that contain
the many defects can enable testing resources to be allocated efficiently. This is frequently
referred to as the 20:80 rule.
So I pose the question, what evidence is there for this rule? More
specifically, what is our best estimate of the proportion of defects covered by the 20% most
defect-prone components? Is it 80%? To answer this I describe the results of a systematic search to
locate all relevant evidence. This is then used as input to a Bayesian hierarchical meta-analysis
which suggests, encouragingly, there is indeed support for this intuition. However, this conclusion
comes with two caveats. One, there is some diversity between individual software systems and two, if
our population is intended to be any software system then the sample is biased. Nevertheless, it is
gratifying when software developer intuition is supported by rigorous analysis of the evidence!"
Manuel Wimmer
Johannes Kepler Univ. Linz, Austria, Austria
Abstract"We are currently facing a dramatically increasing complexity in engineering, operation, and management
of systems with the emergence of Cyber-Physical Systems (CPS) and the Internet-of-Things (IoT). This
demands for comprehensive and systematic views on all system aspects (e.g., mechanical engineering,
electrical engineering, and software engineering) throughout the whole system life-cycle, moving
Software Engineering closer to Systems Engineering.
To engineer such interdisciplinary systems, modeling is traditionally considered as the technique to
understand and simplify reality through abstraction. In addition, models are nowadays used beyond the
engineering phases by connecting them to the observed runtime data of the operating systems in so-called
digital twins. However, in order to use models and their digital twin extensions in an effective and
efficient way, the quality of models must be ensured throughout the complete system life-cycle.
In my talk, I will outline several concepts and techniques to assess, and if required, to improve the
quality of models and associated artefacts, e.g., model transformations, language definitions, and
digital twins. In particular, I will talk about AI-based techniques, which can be applied directly on
models to improve their quality, e.g., by finding refactoring sequences. Finally, I will conclude with
some lessons learned from several projects and outline future challenges for managing the quality of
models in software and systems engineering."
Jaime Jorge
Codacy, Portugal
Abstract"The digital transformation of the prototypical enterprise has made software a starting requirement to
start a company. In other words: all modern companies are software companies. The role of quality, where
software is ubiquitous, becomes critical and intertwined in the fabric of software development.
In
this talk we'll benefit from 8 years of building a code quality and static code analysis product, serving 750
companies around the world and 200k developers. We'll start by exploring some of the assumptions and
observations we have made in the market of static code analysis. Particularly, the democratization of a
segment of the static code analysis, also known as 'linters', which have benefited from 'Wisdom of the
crowds'. We'll then further explore the utility and use case of a software analysis tool to
contextualize the scaling quality challenges of a growing software enterprise. Finally we'll pose non
exhaustive and exploratory industry related questions involving the recent developments in
commercialized solutions and techniques."
QUATIC 2020 (Online Conference)
Abstract"Open-source software development has become the dominant basis for today's software systems, and software packaging ecosystems have become the norm for geographically distributed social coding. Such ecosystems come in many forms and flavors, such as package managers for operating systems, package repositories for specific application frameworks, or collections of reusable libraries for specific programming languages. Such ecosystems have in common that they contain large numbers of interdependent software packages that are developed and maintained by many interacting contributors through online development platforms (such as GitHub and GitLab) and their associated tools for collaborative coding. Because of their inherently socio-technical nature, packaging ecosystems face a wide range of health issues that may propagate over the network through explicit package dependencies or implicit social links and hence may have an important impact on the ecosystem as a whole. This talk presents our recent empirical research on analyzing and improving the health of software package dependency networks, suggesting avenues of future research, and providing recommendations for communities and tool developers to address software health and dependency issues."
Letizia Jaccheri
Norwegian university of science and technology, Norway
Abstract"The main goal of my research through 30 years is to understand software by empirical studies. While researchers traditionally use students as subjects to pilot studies before they are carried out in industrial environments, the supporting pillar of my working method is to set up studies with students that go beyond the contribution to scientific literature and identify benefits for other stakeholders. The four primary actors are: students, instructors, industry, and researchers. Later, in our studies we have identified issues that appear at the intersection between art and software. Artistic software projects have often a social goal and are highly innovative. Our studies in art and software have given the ground for two research directions. The first is maker movement and its role in educational practices. Typical topics of interest vary from engineering-oriented pursuits such as electronics, robotics, 3D printing to the use of art and craft. Leveraging the beneficial outcomes from the Maker Movement approach and programming languages designed for children, together with a group of researchers, and artists we have designed, implemented and evaluated workshop programs. In our studies we have identified the important factors that characterize the design of the activities and the main aspects of children's engagement in such software intensive activities. The second research direction is to increase collective and individual awareness about societal problems and ultimately create the needed intelligence that will lead entrepreneurs and policy makers to innovative solutions for societal challenges towards a sustainable society."
João Paulo Carvalho
Quidgest, Portugal
Abstract"Total Quality pioneer, W. E. Deming, stated: "Cease dependence on inspection to achieve quality. Eliminate the need for massive inspection by building quality into the product in the first place". According to this non-obvious approach, quality results only from the product and the production line designs. Most industries implemented this principle during the last 50 years. However, software development almost ignored it. Quality Assurance, as realized by the software industry, is non-sense. It takes as long as software development, thus duplicating time to operation/market. It cannot identify the real cause of an error, thus not preventing new occurrences. Even if the final inspection doesn't completely disappear, built-in Total Quality - in Automated Software Development with Models and AI - reduces bugs, shorts testing-time, and improves agility. This talk will describe what has been our research, presents the results achieved, and incentivizes more people to join this quest."
João Nunes
Quidgest, Portugal
Abstract"Total Quality pioneer, W. E. Deming, stated: "Cease dependence on inspection to achieve quality. Eliminate the need for massive inspection by building quality into the product in the first place". According to this non-obvious approach, quality results only from the product and the production line designs. Most industries implemented this principle during the last 50 years. However, software development almost ignored it. Quality Assurance, as realized by the software industry, is non-sense. It takes as long as software development, thus duplicating time to operation/market. It cannot identify the real cause of an error, thus not preventing new occurrences. Even if the final inspection doesn't completely disappear, built-in Total Quality - in Automated Software Development with Models and AI - reduces bugs, shorts testing-time, and improves agility. This talk will describe what has been our research, presents the results achieved, and incentivizes more people to join this quest."
QUATIC 2019 (Ciudad Real, Spain)
Maria Teresa Baldassarre
University of Bari, Italy
Abstract"Software engineering has recently celebrated its 50 year anniversary. Over this half century much has been accomplished in terms of software process and product quality. Osterweil’s statement “Software processes are software too” has emphasized the importance of “software process programming” as a means for describing software processes and materializing them. Over the years, materializing software process descriptions has naturally led to emerging trends in measurement practices, as well as definition of quality paradigms, standards and frameworks, mainly focused on processes (GQM-QIP, TQM, PDCA, ISO family standards, CMMI, etc.). On the other hand, empirical software engineering has allowed to collect best practices, lessons learned and formalize heuristics, frameworks and tools for measuring and monitoring software product quality (e.g. static analysis tools, ISO25000). In turn, Agile-oriented processes such as LEAN, DevOps, Scrum etc. have incorporated product quality assessment practices, enforcing the bond between process and product quality. Such trend has been bridging the gap between software engineering and other engineering disciplines that focus on product quality. This talk discusses the main roles that quality has covered over the past 50 years with respect to software processes and software products. Relevant results and lessons learned from industrial experiences that point out the need of combining both aspects to deliver high quality software will be presented."
Christof Ebert
Vector Consulting Services, Germany
Abstract"Agile development is mandatory to remain flexible and value-oriented at the same time. Although most projects claim usage of agile methods, empirical research shows that a majority sees is rather as a move towards anything goes. Agile practices must be scaled to specific environments such as team set-up, business-risk and quality requirements such as safety. Especially distributed teams face severe difficulties with agile techniques due to distance in time and location. Our research provides results from an empirical field study on distributed development with agile practices. The benchmark covers some thirty companies from different regions and industries worldwide. It looks towards how agile methods can be scaled for global teams and distributed development. We found that successful agile adoption needs tailoring, rather than predefined complex frameworks. Lessons learned are provided to facilitate transfer to other settings."
Antonio Vallecillo
University of Málaga, Spain
Abstract"Uncertainty is the quality or state that involves lacking information or insufficient knowledge. Uncertainty can be due to different reasons, including incomplete or inaccurate information, inexact data or measurements, imprecise human judgments, or approximate estimations. The explicit representation of uncertainty is gaining attention among software engineers in order to provide more faithful systems representations, more accurate design methods, and better estimations of the development processes. However, incorporating uncertainty into our systems models is not enough. Uncertainty also affects many aspects related to the quality of systems, products, processes, and data, including how uncertainty is taken into account when designing our systems, measured when evaluating their quality, and perceived by customers and users. In fact, uncertainty – and, more specifically, the lack of knowledge about the system, our measuring tools, and our potential users – should be incorporated into our quality models, too. This talk identifies several kinds of uncertainties that have a direct impact on quality, and discusses some challenges on how quality needs to be planned, modeled, designed, measured and ensured in the presence of uncertainty."
QUATIC 2018 (Coimbra, Portugal)
Natalia Juristo
Technical University of Madrid (UPM), Spain
Ana Regina Cavalcanti da Rocha
COPPE/Federal University of Rio de Janeiro, Brazil
Lúcio Ferrão
OutSystems, Portugal
QUATIC 2016 (Lisbon, Portugal)
Bertrand Meyer
Politecnico di Milano and Innopolis University, Italy and Russia
Joost Visser
Software Improvement Group (SIG) and Radboud University Nijmegen, The Netherlands
QUATIC 2014 (Guimarães, Portugal)
Michaela Greiler
Microsoft Research, USA
QUATIC 2012 (Lisbon, Portugal)
Paulo Amaral
Sinfic & Universidade Católica Portuguesa, Portugal
Ethan Jackson
Microsoft Research, USA
QUATIC 2010 (Oporto, Portugal)
Antonia Bertolino
CNR/ISTI, Italy
Coral Calero
Universidad de Castilla-la-Mancha, Spain
QUATIC 2007 (Lisbon, Portugal)
François Coallier
ETS/Université du Québec, Canada
Philip Miller
SEI/Carnegie Mellon University, USA
QUATIC 2004 (Oporto, Portugal)
Han Van Loon
SynSpace, Switzerland
Patricia Rodriguez Dapena
SoftWcare, Spain
Kevin Daily
Kevin Daily, UK
QUATIC 2001 (Lisbon, Portugal)
Luís Sousa Cardoso
Chairman QSDG/UIT & FIINA, Portugal
Mario Piattini
Universidad de Castilla – La Mancha, Spain
QUATIC 1998 (Guimarães, Portugal)
Luís Nazaré
ICP, Portugal
Mário Gaspar da Silva
FC-UL, Portugal
Luís Sousa Cardoso
QSDG/UIT, Switzerland
QUATIC 1995 (Lisbon, Portugal)
Günther Koch
ESI, Spain
Folkert Rienstra
ITQS, The Netherlands
António da Silva Mendes
European Commission, Belgium
Luís Sousa Cardoso
QSDG/ITU, Switzerland
José Morais Oliveira
Marconi, Portugal