Alessandro Fantechi

Prof. Alessandro Fantechi


Research Focus & Metrics

Academic Career Length

32Years (1995-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
1 February 2016 in Journal of Logical and Algebraic Methods in Programming
Verified
Journal Article
Closed access
MBMaurice H. ter Beek
Maurice H. ter Beek
AFAlessandro Fantechi
Alessandro Fantechi
SGStefania Gnesi
Stefania Gnesi
FMFranco Mazzanti
Franco Mazzanti

31 August 2020
Verified
Book Chapter
Closed access
PDF file
MAMonica Arrabito
Monica Arrabito
AFAlessandro Fantechi
Alessandro Fantechi
SGStefania Gnesi
Stefania Gnesi
LSLaura Semini
Laura Semini

23 September 2019
Verified
Book Chapter
Closed access
PDF file
MBMaurice H. ter Beek
Maurice H. ter Beek
ABArne Borälv
Arne Borälv
AFAlessandro Fantechi
Alessandro Fantechi
Alessio FerrariAlessio Ferrari
Alessio Ferrari
SGStefania Gnesi
Stefania Gnesi
FMFranco Mazzanti
Franco Mazzanti

28 April 2021 in Applied Sciences
Verified
Journal Article
Open access
PDF file
LCLaura Carnevali
Laura Carnevali
LCLorenzo Ciani
Lorenzo Ciani
AFAlessandro Fantechi
Alessandro Fantechi
Gloria GoriGloria Gori
Gloria Gori
MPMarco Papini
Marco Papini
Reliability Block Diagrams (RBDs) are widely used in reliability engineering to model how the system reliability depends on the reliability of components or subsystems. In this paper, we present librbd, a C library providing a generic, efficient and open-source solution for time-dependent reliability evaluation of RBDs. The library has been developed as a part of a project for reliability evaluation of complex systems through a layered approach, combining different modeling formalisms and solution techniques at different system levels. The library achieves accuracy and efficiency comparable to, and mostly better than, those of other well-established tools, and it is well designed so that it can be easily used by other libraries and tools.

24 April 2019
Verified
Book Chapter
Closed access
Alessio FerrariAlessio Ferrari
Alessio Ferrari
MBMaurice H. ter Beek
Maurice H. ter Beek
FMFranco Mazzanti
Franco Mazzanti
DBDavide Basile
Davide Basile
AFAlessandro Fantechi
Alessandro Fantechi
DTDaniele Trentini
Daniele Trentini

26 December 2024 in Formal Aspects of Computing
Verified
Journal Article
Open access
MBManfred Broy
Manfred Broy
ABAchim D. Brucker
Achim D. Brucker
AFAlessandro Fantechi
Alessandro Fantechi
MGMario Gleirscher
Mario Gleirscher
KHKlaus Havelund
Klaus Havelund
ASAllison Sullivan
Allison Sullivan
We focus on the integration of Formal Methods as mandatory theme in any Computer Science University curriculum. In particular, when considering the ACM Curriculum for Computer Science, the inclusion of Formal Methods as a mandatory Knowledge Area needs arguing for why and how does every computer science graduate benefit from such knowledge. We do not agree with the sentence “While there is a belief that formal methods are important and they are growing in importance, we cannot state that every computer science graduate will need to use formal methods in their career.” We argue that formal methods are and have to be an integral part of every computer science curriculum. Just as not all graduates will need to know how to work with databases either, it is still important for students to have a basic understanding of how data is stored and managed efficiently. The same way, students have to understand why and how formal methods work, what their formal background is, and how they are justified. No engineer should be ignorant of the foundations of their subject and the formal methods based on these. In this article, we aim at highlighting why every computer scientist needs to be familiar with formal methods. We argue that education in formal methods plays a key role by shaping students' programming mindset, fostering an appreciation for underlying principles, and encouraging the practice of thoughtful program design and justification, rather than simply writing programs without reflection and deeper understanding. Since integrating formal methods into the computer science curriculum is not a straightforward process, we explore the additional question: what are the tradeoffs between one dedicated knowledge area of formal methods in a computer science curriculum versus having formal methods scattered across all knowledge areas? Solving problems while designing software and software-intensive systems demands an understanding of what is required, followed by a specification and formalizing a solution in a programming language. How to do this systematically and correctly on solid grounds is exactly supported by formal methods.