{"title":"Automatic failure detection with Conditional-Belief supervisors","authors":"J. J. Li, R. Seviora","doi":"10.1109/ISSRE.1996.558672","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558672","url":null,"abstract":"Failures of a software system are detected by a supervisor, a separate unit which observes the inputs and outputs of the system and reports its failures in real-time. The supervisor determines whether a failure has occurred by comparing the observed and the specified behavior. The specification of behavior is assumed to be expressed in a formalism based on communicating extended finite state machines (specifically, ITU-T SDL). The supervisor must tolerate legal behavioral alternatives resulting from nondeterminisms in the specification. The computational costs of considering such alternatives can be fairly high. The paper presents the Conditional-Belief (CB) theory that reduces the cost of consideration of alternatives by using conditional-beliefs to represent sets of legal behavioral alternatives. The paper reviews belief-based supervision, introduces the CB theory, and outlines an algorithm for conversion of a class of SDL specification to a CB supervisor model. It describes a demonstration system developed to evaluate CB supervision, and summarizes failure detection and computational cost results for the supervisor of the control program of a small telephone exchange.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"49 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114127735","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Wee Teck Ng, Christopher M. Aycock, Gurushankar Rajamani, Peter M. Chen
{"title":"Comparing disk and memory's resistance to operating system crashes","authors":"Wee Teck Ng, Christopher M. Aycock, Gurushankar Rajamani, Peter M. Chen","doi":"10.1109/ISSRE.1996.558792","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558792","url":null,"abstract":"Memory is commonly viewed as an unreliable place to store permanent data (files) because it is perceived to be vulnerable to system crashes. Yet despite all the negative implications of memory's unreliability, no data exists that quantifies how vulnerable memory actually is to system crashes. This paper quantitatively compares the vulnerability of disk and memory to operating system crashes. We use software fault injection to induce a wide variety of operating system crashes in DEC Alpha workstations running Digital Unix, ranging from bit errors in the kernel stack to deleting branch instructions to C-level allocation management errors. We find that files on disk are rarely corrupted (1.1% corruption rate), which agrees with our intuition. We also find that, surprisingly files in memory are nearly as safe as files on disk. Only 10 of the 650 crashes we observed (1.5%) corrupt any files in memory. Our data contradicts the common assumption that operating system crashes often corrupt files in memory and suggests that memory can be used to store permanent data rather than needing to write it back to disk.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129676538","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
W. K. Ehrlich, R. Chan, W. J. Donnelly, H. Park, M. Saltzman, P. Verma
{"title":"Validating software architectures for high reliability","authors":"W. K. Ehrlich, R. Chan, W. J. Donnelly, H. Park, M. Saltzman, P. Verma","doi":"10.1109/ISSRE.1996.558800","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558800","url":null,"abstract":"In this paper, we present a generic approach for quantitatively evaluating the performance implications of a software architecture using the concept of operational profile from software reliability engineering. In our approach, the System Under Development (SUD) modes of operation are analyzed to specify a mode's rate of arrivals of external events. The requests' process flow (i.e., the rate of arrival of internal requests at server processes) is then derived from the software architecture. Finally, the product of the internal arrival rates and the amount of server resources to service a request is used to calculate a mode's server resource utilization. Application of this technique to an actual AT&T telecommunications operations system, together with implications for engineering software architectures that are robust under variation in modes of operation are discussed.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125989690","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. A. Dolinsky, David Rentschler, S. Steele, John A. Teresinski, Jim Widmaier
{"title":"Deploying SRE in Your Organization or Company","authors":"A. A. Dolinsky, David Rentschler, S. Steele, John A. Teresinski, Jim Widmaier","doi":"10.1109/ISSRE.1996.558894","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558894","url":null,"abstract":"The introduction of some new practices into software organizations can be trying, arduous tasks. Software Reliability is a practice that fits in this category. A well thought out strategy needs to be used to successjidly and rapidly install Software Reliability Engineering (SRE) in a software organization. The successfid practitioner must be prepared to sell SRE, retain consultants, train project personnel, demonstrate it's effectiveness, provide measurements of the results, and advertise them. This panel, composed of four members with practical industry experience, will examine all of these areas as it explores the question: \"What are the steps for bringing SRE into my organization or company?\"","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127336496","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
J. Hudepohl, S. Aud, T. Khoshgoftaar, E. B. Allen, J. Mayrand
{"title":"Integrating metrics and models for software risk assessment","authors":"J. Hudepohl, S. Aud, T. Khoshgoftaar, E. B. Allen, J. Mayrand","doi":"10.1109/ISSRE.1996.558707","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558707","url":null,"abstract":"Enhanced Measurement for Early Risk Assessment of Latent Defects (EMERALD) is a decision support system for assessing reliability risk. It is used by software developers and managers to improve telecommunications software service quality as perceived by the customer and the end user. Risk models are based on static characteristics of source code. This paper shows how a system such as EMERALD can enhance software development, testing, and maintenance by integration of: a software quality improvement strategy; measurements and models; and delivery of results to the desktop of developers in a timely manner. This paper also summarizes empirical experiments with EMERALD's models using data from large industrial telecommunications software systems. EMERALD has been applied to a very large system with over 12 million lines of source code within procedures. Experience and lessons learned are also discussed.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130124266","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On reducing the sensitivity of software reliability to variations in the operational profile","authors":"B. Cukic, F. Bastani","doi":"10.1109/ISSRE.1996.558694","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558694","url":null,"abstract":"In the statistical sampling method, as in any other statistical approaches for measuring software reliability, the inputs to the program are chosen according to the estimated probability with which they occur in field use, forming the operational profile. However, in practice it is very difficult to accurately assess the operational distribution of input points. Furthermore, a variety of factors can cause the operational distribution to change during field use making the estimation even more difficult. Musa (1993) has suggested that reducing the size of the input domain simplifies the task of determining operational profiles. We present a class of techniques that reduce the dimensionality of input domains and describe their application. These techniques do not limit the functionality or change the input-output behavior of the program. An additional benefit of these techniques is the insensitivity of the reliability estimate to variations in the operational profile of variables eliminated from the input domain.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131196803","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Using fault injection to increase software test coverage","authors":"J. Bieman, D. Dreilinger, Lijun Lin","doi":"10.1109/ISSRE.1996.558776","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558776","url":null,"abstract":"During testing, it is nearly impossible to run all statements or branches of a program. It is especially difficult to test the code used to respond to exceptional conditions. This untested code, often the error recovery code, will tend to be an error prone part of a system. We show that test coverage can be increased through an \"assertion violation\" technique for injecting software faults during execution. Using our prototype tool, Visual C-Patrol (VCP), we were able to substantially increase test branch coverage in four software systems studied.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134162255","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Assessing the reliability impacts of software fault-tolerance mechanisms","authors":"V. Mendiratta","doi":"10.1109/ISSRE.1996.558711","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558711","url":null,"abstract":"Telecommunications systems are characterized by highly stringent reliability requirements for system availability and defect rate. A combination of approaches is used to achieve high software reliability, namely, fault avoidance, fault removal and implementation of fault-tolerant mechanisms. This paper focuses on the implementation of software fault-tolerant mechanisms and analyzes the impact of these mechanisms on software reliability. Based on field data on the frequency of invocation of some fault-tolerant mechanisms, we present an escalating recovery model for predicting the impact of these mechanisms on lost calls. The key parameters of the model are: the software fault recovery coverage factor; the proportion of successful recoveries at each level and the calls lost at each recovery level. The output of the model is a distribution and average of the number of lost calls per software error. The applicability of this model to systems with high reliability has been validated; the applicability of the model to less reliable systems is an area for future work.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129403847","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Sensitivity of reliability growth models to operational profile errors","authors":"A. Pasquini, A. Crespo, Paolo Matrella","doi":"10.1109/ISSRE.1996.558688","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558688","url":null,"abstract":"The estimation of the operational profile is one of the key factors during the use of software reliability growth models. However, the operational profile can be very difficult to estimate in particular applications such as software used for process control. In other cases, a single operational profile may not be sufficient to describe the use of the product by a number of different customers. An operational profile may also change during the development of software or during its operational usage. All these cases may lead to errors in the estimation of the operational profile. The paper describes an empirical evaluation of the sensitivity of reliability growth models to errors in the estimation of the operational profiles. Some reliability growth models are applied during the testing phase of a software system. The particular characteristics of the case study allow the measurement of the actual reliability growth of the software and its comparison with the estimations provided by the models. Measurement and comparison are repeated for different operational profiles giving information about the effect of a possible error in the estimation of the operational profile. Results show that errors in the operational profile estimation do not heavily affect reliability estimates and that their influence is strongly dependent on the accuracy with which the software system has been tested.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125492607","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automatic test generation for predicates","authors":"A. Paradkar, K. Tai, M. Vouk","doi":"10.1109/ISSRE.1996.558700","DOIUrl":"https://doi.org/10.1109/ISSRE.1996.558700","url":null,"abstract":"We propose a new technique for automatic generation of test cases for predicates. Earlier we proposed an efficient and effective test generation strategy for Boolean expressions. We now extend this strategy to predicates. Our new strategy addresses a number of issues, including: analysis of dependencies between relational expressions in a predicate P; generation of test constraints for P based on the detection of Boolean and relational operator faults in P; and generation of actual tests according to the generated test constraints for P. We propose the use of constraint logic programming (CLP) to automate test data generation for a predicate. Furthermore, we propose an incremental approach to apply CLP techniques to solve a constraint system. Since our technique is specification-based, it can facilitate generation of expected outputs for actual tests.","PeriodicalId":441362,"journal":{"name":"Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133757856","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}