editor's blog
Subscribe Now

Software Development is Failing

I wanted to share this, which I found on the System Safety Mailing list: https://lists.techfak.uni-bielefeld.de/mailman/listinfo/systemsafety

Martyn Thomas has enormous experience in implementing computer systems and was the founder of Praxis a company, now part of the Altran group, that became “internationally recognised as a leader in the use of rigorous software engineering, including mathematically formal methods.” He wrote in a thread about software:

I recall a lecture given by Dijkstra in 1973. A member of the audience asked “do your methods work on real world problems?” Dijkstra paused, and then said quietly “real world problems. Ah yes, those that remain when you have failed to apply all the known solutions”.
Over the years, I have heard many excuses for failures to use professional engineering methods.
“if we train the programmers, they’ll leave for a better paid job”
“we can’t hire programmers who are willing to use that programming language”
“universities don’t teach (maths, project management, quality control, planning, team working … …)”
“the customer insists that we use this (buggy) middleware for compatibility”
“modern software isn’t written – it’s assembled from lots of (buggy) COTS”
“if we try to include that in the standard, industry will revolt.”
“if we were to ask for that evidence, industry would charge us a fortune”
… and many many more.
Most software developers appear to have lost sight of the problem. Every week, I hear someone use the verb “test” when what they mean is “gain assurance that  … is fit for purpose”; this reveals a dangerous, implicit assumption that “test-and-fix” is the only practical way to develop software. Most software is still written in languages without good data structures and strong type-checking. Most software requirements (and even interface specifications) are written in English (or another natural language) – perhaps with some diagrams that lack any rigorous semantics. Most projects have grossly inadequate change control. I rarely see a risk register that is worth anything (except as a demonstration that the project manager isn’t managing the project).
Is there another trade that (a) builds complex, novel and critical systems using poorly-qualified staff, (b) almost exclusively uses tools that have major known defects, (c) builds systems from components of unknown provenance that cannot be shown to be fit for purpose and (d) nevertheless claims to be professional engineers?
Surely it is self-evident that the current state of our profession is unsustainable. Let’s stop making excuses and look for ways to accelerate the changes that we know are needed.

Martyn, it seems to me, is putting forward a very accurate view of the whole software arena. Even in the safety-critical arena there is still too little concern for these issues. How do we go about resolving this? Or is it too late to push the genii back into the bottle?

One thought on “Software Development is Failing”

  1. After all the stringent methods are applied, one is left with a complex system that at times tries to defeat itself, due to competition for resources. Worker functions are suspended during management functions, which depend upon the same faculties for interpretation and execution. Time to space translation on input and space to time for useful output. The disclaimer shipped with most software tells the truth: buyer beware.

    There is a remedy, an alternative to TMs that is in and for the time domain vs being relegated to the space domain.

    Details on request c.moeller@ieee.org

Leave a Reply

featured blogs
Jan 17, 2022
Today's interview features Dajana Danilovic, an application engineer based near Munich, Germany. In this video, Dajana shares about her pathway to becoming an engineer, as well as the importance of... [[ Click on the title to access the full blog on the Cadence Community sit...
Jan 13, 2022
See what's behind the boom in AI applications and explore the advanced AI chip design tools and strategies enabling AI SoCs for HPC, healthcare, and more. The post The Ins and Outs of AI Chip Design appeared first on From Silicon To Software....
Jan 12, 2022
In addition to sporting a powerful processor and supporting Bluetooth wireless communications, Seeed's XIAO BLE Sense also boasts a microphone and a 6DOF IMU....

featured video

Synopsys & Samtec: Successful 112G PAM-4 System Interoperability

Sponsored by Synopsys

This Supercomputing Conference demo shows a seamless interoperability between Synopsys' DesignWare 112G Ethernet PHY IP and Samtec's NovaRay IO and cable assembly. The demo shows excellent performance, BER at 1e-08 and total insertion loss of 37dB. Synopsys and Samtec are enabling the industry with a complete 112G PAM-4 system, which is essential for high-performance computing.

Click here for more information about DesignWare Ethernet IP Solutions

featured paper

Tackling verification challenges for PCIe® 5.0

Sponsored by Anritsu

PCIe 5.0 works at 32 GT/s data rate per lane and offers many new features, including support for an alternate protocol, precoding to prevent contiguous burst errors, and link equalization flow enhancements. While these features offer several advantages, they also pose additional challenges for verification engineers. This paper discusses the PCIe 5.0 features and their verification challenges. It also describes a case study on how to address these challenges using a strong verification IP solution.

Download White Paper

featured chalk talk

Vibration Sensing with LoRaWAN

Sponsored by Mouser Electronics and Advantech

Vibration sensing is an integral part of today’s connected industrial designs but Bluetooth, WiFi, and Zigbee may not be the best solution for this kind of sensing in an industrial setting. In this episode of Chalk Talk, Amelia Dalton chats with Andrew Lund about LoRaWAN for vibration sensing. They investigate why LoRaWAN is perfect for industrial vibration sensing, the role that standards play in these kinds of systems, and why 3 axis detection and real-time monitoring can make all the difference in your next industrial design.

Click here for more information about Advantech WISE-2410 LoRaWAN Wireless Sensor