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
Development of distributed software
Shatz S. (ed), Macmillan Publishing Co., Inc., Indianapolis, IN, 1993. Type: Book (9780024096111)
Aug 1 1994
Fundamentals of software engineering
Ghezzi C., Jazayeri M., Mandrioli D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (013820432)
Jul 1 1992
Software engineering
Sodhi J., TAB Books, Blue Ridge Summit, PA, 1991. Type: Book (9780830633425)
Feb 1 1992

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy