Formal and Practical Aspects of Domain-Specific Languages: An Overview of my work on DSLs
Marjan Mernik (University of Maribor, Slovenia)
Domain-specific languages (DSLs) assist a software developer (or end-user) in writing a program using idioms that are similar to the abstractions found in a specific problem domain. Indeed, the enhanced software productivity and reliability benefits that have been reported from DSL usage are hard to ignore, and DSLs are flourishing. However, tool support for DSLs is lacking when compared to the capabilities provided for standard General-Purpose Languages (GPLs). For example, support for unit testing of a DSL program, as well as DSL debuggers are rare. A Systematic Mapping Study (SMS) has been performed to better understand the DSL research field, identify
research trends, and any possible open issues. In this talk, I will first introduce DSLs by discussing when and how to develop DSLs. In the second part, I will discuss some open DSL problems, such as difficulties in combining DSLs. This talk represents my work on DSLs in the last 20 years.
Marjan Mernik received the MSc and PhD degrees in Computer Science from the University of Maribor in 1994 and 1998, respectively. He is currently a professor at the University of Maribor, Faculty of Electrical Engineering and Computer Science. He was a visiting professor at the University of Alabama at Birmingham, Department of Computer and Information Sciences. His research interests include programming languages, compilers, domain-specific (modeling) languages, grammar-based systems, grammatical inference, and evolutionary computations. He is a member of the IEEE, ACM, and EAPLS. He is the Editor-in-Chief of the Journal of Computer Languages, as well as Associate Editors of the Applied Soft Computing Journal, Information Sciences Journal, and Swarm and Evolutionary Computation Journal. He is being named a Highly Cited Researcher for the years 2017 and 2018. More information about his work is available at https://lpm.feri.um.si/en/members/mernik/.
Software Quality for AI
Valentina Lenarduzzi (University of Oulu, Finland)
Artificial Intelligence (AI) is getting more and more popular, being adopted in a large number of applications and technologies we use on a daily basis. A large number of AI-enabled applications are produced by developers without proper training on software quality practices or processes, and in general, lack state-of-the-art software engineering processes. In this session, provide an introduction on Software Quality for AI-based components, depicting the state of the art and the identified best practices and issues.
Valentina Lenarduzzi is an assistant professor (tenure track) at University of Oulu (Finland). Her research activities are related to modern software development practices and methodologies, including data analysis in software engineering, software quality, software maintenance and evolution, focusing on Technical Debt as well as code and architectural smells. She got the Ph.D. in Computer Science in 2015 and was a postdoctoral researcher at the Free University of Bozen-Bolzano, (Italy), at the Tampere University (Finland), and at LUT University (Finland). Moreover, she was visiting researcher at the University of Kaiserslautern (TUK) and the Fraunhofer Institute for Experimental Software Engineering IESE (Germany). She served as a program committee member of various international conferences (e.g., ICPC, ICSME, ESEM), and for various international journals (e.g., TSE, EMSE, JSS, IST) in the field of software engineering. She has been program co-chair of OSS 2021 and TechDebt
2022. She was also one of the organizer of the last edition of MaLTeSQuE workshop (2022) collocated with ESEC/FSE. Dr. Lenarduzzi is recognized by the Journal of Systems and Software (JSS) as one of the most active SE researcher in top-quality journals in the period 2013 to 2020.
The Evolution of Cloud Architectures: From Monolithic to Microservices to Serverless… to Micro-Frontends
Davide Taibi (Tampere University, Finland)
Cloud-Native technologies, and especially microservices are enjoying increasing popularity and diffusion in industrial environments, being adopted by several big players such as Amazon, LinkedIn, Netflix, and SoundCloud. Several cloud-technologies are adopted because of the hype, and not because of real needs. During the migration, practitioners often face common problems, mainly to their lack of knowledge regarding bad practices of the new technologies. In this session, we provide an introduction of different cloud-native architectures, including microservices, serverless, and micro-frontends, reporting their issues and motivations, and describing the research we are conducting in the CloudSEA group if the Tampere University.
Davide Taibi is Associate Professor at the Tampere University (Finland) where he led the Cloud Software Evolution and Assessment (CloudSEA.ai). His research is mainly focused on Empirical Software Engineering applied to cloud-native systems, with a special focus on the migration from monolithic to cloud-native applications. He is investigating processes, and techniques for developing Cloud Native applications, identifying cloud-native specific patterns and anti-patterns. He is member of the International Software Engineering Network (ISERN) from 2018. Before moving to Finland, he has been Assistant Professor at the Free University of Bozen/Bolzano (2015-2017), post-doctoral research fellow at the Technical University of Kaiserslautern and Fraunhofer Institute for Experimental Software Engineering – IESE (2013-2014) and research fellow at the University of Insubria (2007-2011).
Scheduling and other optimisations within a verified compiler
David Monniaux (CNRS Grenoble, France)
CompCert is a formally verified compiler: there is a proof, checked within the Coq proof assistant, that the execution of the machine code matches that of the C source code.
We have improved this compiler with new intermediate representations and new optimizations, including code reordering, validated by verified symbolic execution.
Joint work with Sylvain Boulmé, Cyril Six, Léo Gourdin, Justus Fasse, Nicolas Nardino
David Monniaux is senior research scientist at CNRS, director of the Verimag laboratory in Grenoble (a joint lab between CNRS and University Grenoble Alps).
Hotmoka: a novel blockchain with verified smart contracts in Java
Fausto Spoto (University of Verona, Italy)
This talk presents the ideas and the architecture underlying Hotmoka, a novel blockchain with smart contracts expressed in a subset of Java called Takamaka. It presents the main features of Takamaka with concrete examples of smart contracts. It introduces a distinguishing feature of Hotmoka, that is, the automatic static verification of code at installation time, that is used for instance to guarantee determinism for the smart contracts. Finally, it concludes with examples of smart contracts for tokens and governance.