{"title":"A software reliability study using a complexity measure","authors":"Thomas J. Walsh","doi":"10.1109/MARK.1979.8817197","DOIUrl":null,"url":null,"abstract":"Software engineers face a real problem in guaranteeing that their computer programming systems under development will be able to function in a reliable manner and be easily understood, maintained and extended. A major impediment of this problem is coping with the inherent complexity of the software system in an effective way. The complexity of the computer system will defeat the designer’s efforts unless a relatively simple way is found to break the problem down in order that the resulting programs are testable and maintainable. Complex problems must be factored into smaller units to be treated by the human intelligence because man’s capacity for logically precise invention is limited. The consequence of ignoring these bounds to man’s cognitive and creative capacity was well stated by Harlan Mills of IBM: 1 We often ignore the complexity of a planned program or sub-program. But when the complexity exceeds certain unknown limits, frustration ensues. Computer programs capsize under their own logical weight, or become so crippled that maintenance is impossible.","PeriodicalId":341008,"journal":{"name":"1979 International Workshop on Managing Requirements Knowledge (MARK)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1979-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"31","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"1979 International Workshop on Managing Requirements Knowledge (MARK)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MARK.1979.8817197","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 31
Abstract
Software engineers face a real problem in guaranteeing that their computer programming systems under development will be able to function in a reliable manner and be easily understood, maintained and extended. A major impediment of this problem is coping with the inherent complexity of the software system in an effective way. The complexity of the computer system will defeat the designer’s efforts unless a relatively simple way is found to break the problem down in order that the resulting programs are testable and maintainable. Complex problems must be factored into smaller units to be treated by the human intelligence because man’s capacity for logically precise invention is limited. The consequence of ignoring these bounds to man’s cognitive and creative capacity was well stated by Harlan Mills of IBM: 1 We often ignore the complexity of a planned program or sub-program. But when the complexity exceeds certain unknown limits, frustration ensues. Computer programs capsize under their own logical weight, or become so crippled that maintenance is impossible.