Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
A building code for building code: putting what we know works to work
Landwehr C.  ACSAC 2013 (Proceedings of the 29th Annual Computer Security Applications Conference, New Orleans, LA,  Dec 9-13, 2013) 139-147. 2013. Type: Proceedings
Date Reviewed: Feb 14 2014

Software security, safety, reliability, availability, serviceability, and similar areas have always been the “soft underbelly” of the software development industry. The author of this paper calls on the field to create a “building code” for building software. The paper includes many examples of code and related works in construction and other industries. I would like to point out two major differences between construction, as an example, and computer software technologies, which makes this an elusive comparison.

The paper overlooks the fact that basic scientific and engineering goes back much further than computer technology. People have been building shelters, homesteads, and agricultural and hunting tools since the Stone Age, as early as three million years ago. This means that humans have been collecting information about how to build and use these and other things they need for survival, and passing that knowledge on to as many as 100,000 generations, assuming an average of 30 years per generation. This is the foundation of our current level of scientific knowledge and engineering know-how in “hard” technology areas such as construction. If we date the origin of computing technology to the 19th century difference engine invented by Charles Babbage (often called the father of the computer), then the programmable computer as we know it is only about 150 years old.

Software is very unlike objects for which building codes have been built in the past. There are infinitely many ways to build most programs, and there are numerous alternative implementations (building procedures) of the same program, probably many more than for any building. If you test this in a programming class in an undergraduate software engineering program, you’ll find that there are as many implementations of a solution to a given problem as there are students, assuming no cheating.

While the author’s clarion call is to be applauded from a software engineering point of view, the form that any advance in this area might take is very hard to foresee.

Reviewer:  Birol Aygün Review #: CR142003 (1405-0356)
Bookmark and Share
General (D.2.0 )
Public Policy Issues (K.4.1 )
Would you recommend this review?
Other reviews under "General": Date
Hospitality of chatbot building platforms
Srivastava S., Prabhakar T.  SQUADE 2019 (Proceedings of the 2nd ACM SIGSOFT International Workshop on Software Qualities and Their Dependencies, Tallinn, Estonia,  Aug 26, 2019) 12-19, 2019. Type: Proceedings
Jul 9 2020
Handbook of software engineering
Cha S., Taylor R., Kang K.,  Springer International Publishing, New York, NY, 2019. 524 pp. Type: Book (978-3-030002-61-9)
Feb 14 2020
Simplicity is complex: foundations of cyber-physical system design
Kopetz H.,  Springer International Publishing, New York, NY, 2019. 148 pp. Type: Book (978-3-030204-10-5)
Jan 23 2020

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2020 ThinkLoud, Inc.
Terms of Use
| Privacy Policy