Thanassis Tsiodras – a Static Analysis champion
Thanassis (Athanasios) Tsiodras was nominated as an ESA Knowledge Champion for 2020.
The ESA certificate states he has established “a new service based on the static analysis of the source code for software products [...], improving the quality of past and present software products in ESA’s projects for both flight and ground segments”.
Thanassis, what was the process that led to this outcome?
"I started working for the ESTEC software division back in 2016. Prior to that, I was part-owner of a software services company for more than a decade and was the company's Lead Engineer. During this time, I gained a deep technical understanding of a multitude of technologies, with many of them related to software development, testing and verification . When I became a member of what is now TEC-SWT, I realised that there was one more technology we could use to further improve the quality of our software."
But weren’t there already relevant standards?
“Indeed, we already have a number of methods and tools towards that goal. Our standards  are not ’cast in stone’, they are constantly evolving to match the ideal with the practical. I simply happened to be in the right spot at the right time to ‘push’ for adding one more method to the set, and making it a part of our reviews.”
How did you communicate your idea?
“First, with my management that immediately recognised the potential of Static Analysis . Not only my section head, but also the ‘neighbouring’ section heads of the Flight Software Systems and the Software Product Assurance Sections fully supported my attempts to push this into existence. They advised their officers to use my services, so I did my best to rise up to the challenge. Reviewing an ever-increasing number of mission codebases, I wrote hundreds of extensive reports with my findings. I explained in the most pedantic way possible what is wrong with each bug, and how it would never happen again with the help of Static Analysis.
To be fair, advocating for Static Analysis is easy – the results speak for themselves. Once you see it in action, you quickly realise that it catches bugs that other methods simply can’t.”
Is your success also shared with a wider public?
“Yes, I started giving a number of talks and presentations about the kinds of bugs we were catching with this, mostly internally within ESA but also externally. The message got through: after five years, hundreds of mission codebases and thousands of bugs fixed, apparently many people at ESA/ESTEC now consider me a Knowledge Champion! And far more importantly, Static Analysis is now a recognised part of the way we do things - which is amazing.”
 TEC-SWT: https://www.esa.int/Enabling_Support/Space_Engineering_Technology/Software_Systems_Engineering/Software_Technology_Section_TEC-SWT
 ESTEC: www.esa.int/About_Us/ESTEC/ESTEC_European_Space_Research_and_Technology_Centre
 For examples, see Thanassis’ posts on www.thanassis.space/coverage.html or www.thanassis.space/stackusage.html
 ECSS-E-ST-40C: https://ecss.nl/standard/ecss-e-st-40c-software-general-requirements/
 Static Analysis of software: https://en.wikipedia.org/wiki/Static_program_analysis