ACM SIGPLAN Notices · 1975 · 45 citations · 33 references
ComputingComputer ScienceDesignFault-tolerant SystemsProgramming LanguagesSoftware EngineeringError HandlingProgramming Language DesignReliabilityReliability AssuranceSoftware ConstructionSoftware DesignCode ReliabilityDesign PrinciplesLanguage DesignReliability EngineeringSoftware MaintainabilitySoftware ReliabilitySoftware Reliability AssessmentSoftware Reliability Engineering
The language in which programs are written can have a substantial effect on their reliability. This paper discusses the design of programming languages to enhance reliability. It presents several general design principles, and then applies them to particular language constructs. Since we can not logically prove the validity of such design principles, empirical evidence is needed to support or discredit them. Gannon has performed a major experiment to measure the effect of nine specific language design decisions in one context. Analysis of the frequency and persistence of errors shows that several decisions had a significant impact on reliability.
33
The psychology of computer programming
Choice Reviews Online · 1999 · 971 citations
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1971 · 959 citations · Full text
Computing, Computer Science, Building Information Modeling +5
Programming with abstract data types
Barbara Liskov, Stephen N. Zilles · 1974 · 736 citations · Full text