{"title":"On Failure Propagation in Component-Based Software Systems","authors":"Atef Mohamed, Mohammad Zulkernine","doi":"10.1109/QSIC.2008.46","DOIUrl":"https://doi.org/10.1109/QSIC.2008.46","url":null,"abstract":"Ensuring reliability in component-based software systems (CBSSs) is important for their effective applications in large scale and safety critical systems. However, only few techniques consider failure propagation in system architectures for system reliability assessment. Those techniques focus only on content failure propagation through component interfaces. Therefore, the evaluation of CBSS architectures based on the current techniques fails to consider the impacts of all failure types on system reliability. In this paper, we present a failure propagation analysis technique for CBSSs. We analyze failure propagation based on architectural service routes (ASRs). An ASR is a sequence of components that are connected through interfaces. We discuss the attributes of ASRs with respect to system components and present their impacts on failure propagation and consequently on the reliability of CBSSs. Further analysis determines upper and lower bounds of failure propagation among components and shows some relationships between system reliability and architectural attributes. Our technique is not limited to any failure type, and it considers failure scattering and masking. Therefore, unlike other works, the proposed technique demonstrates more accurate representation of the practical aspect of failure propagation in CBSSs. The technique can also be used to achieve reliable designs in the early design stages of CBSSs and to localize component faults in the operational stage. We compare different example architectures based on their impacts on system reliability.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"25 1","pages":"402-411"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73531342","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":"How to Measure Quality of Software Developed by Subcontractors (Short Paper)","authors":"Y. Iwami","doi":"10.1109/QSIC.2008.24","DOIUrl":"https://doi.org/10.1109/QSIC.2008.24","url":null,"abstract":"In Japan, where the multiple subcontracting is very common in software development, it is difficult to measure the quality of software developed by subcontractors. Even if we request them for process improvement based on CMMI including measurement and analysis, it will not work immediately. Using \"the unsuccessful ratio in the first time testing pass\" as measure to assess software quality, we have had good results. We can get these measures with a little effort of both outsourcer and subcontractor. With this measure, we could identify the defect-prone programs and conduct acceptance testing for these programs intensively. Thus, we could deliver the system on schedule. The following sections discuss why we devised this measure and its trial results.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"11 1","pages":"300-304"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74071339","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":"Linux Bugs: Life Cycle and Resolution Analysis","authors":"Mohamed F. Ahmed, S. Gokhale","doi":"10.1109/QSIC.2008.55","DOIUrl":"https://doi.org/10.1109/QSIC.2008.55","url":null,"abstract":"Efforts to improve application reliability can fade if the reliability of the underlying operating system on which the application resides is not seriously considered. An important first step in improving the reliability of an operating system is to first gain insights into why and how the bugs originate, contributions of the different modules to the bugs, their distribution across severities, the different ways in which the bug may be resolved and the impact of bug severity on the resolution time. To gain this insight we conducted an extensive analysis of the publicly available bug data on the Linux kernel over a period of seven years. Our observations suggest that the Linux kernel may draw significant benefits from the continual reliability improvement efforts of its developers. These efforts, however, are disproportionately targeted towards popular configurations and hardware platforms, due to which the reliability of these configurations may be better than those that are not commonly used. Thus, a key finding of our study is that it may be prudent to restrict to using common configurations and platforms when using open source systems such as Linux in applications with stringent reliability expectations.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"39 7 1","pages":"396-401"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77736713","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":"An Agent-Based Middleware for Adaptive Systems","authors":"Nauman A. Qureshi, A. Perini","doi":"10.1109/QSIC.2008.36","DOIUrl":"https://doi.org/10.1109/QSIC.2008.36","url":null,"abstract":"New generation distributed software systems are expected to be able to meet changing user needs and to manage the variability of the open environment they operate in. This motivates current research on developing adaptive software applications, which recognizes a prominent role to middleware. In this paper, we discuss requirements for an agent-based middleware that enables adaptation. We illustrate these requirements as a result of modelling an application scenario that will be supported by our middleware, using an agent-oriented methodology. Middleware is conceived as web of agents, to overcome the challenge of runtime adaptation in an open environment.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"1 1","pages":"423-428"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88764755","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":"Novel Applications of Machine Learning in Software Testing","authors":"L. Briand","doi":"10.1109/QSIC.2008.29","DOIUrl":"https://doi.org/10.1109/QSIC.2008.29","url":null,"abstract":"Machine learning techniques have long been used for various purposes in software engineering. This paper provides a brief overview of the state of the art and reports on a number of novel applications I was involved with in the area of software testing. Reflecting on this personal experience, I draw lessons learned and argue that more research should be performed in that direction as machine learning has the potential to significantly help in addressing some of the long-standing software testing problems.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"44 1","pages":"3-10"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86930912","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":"Model Transformation Specification and Verification","authors":"K. Lano, D. Clark","doi":"10.1109/QSIC.2008.38","DOIUrl":"https://doi.org/10.1109/QSIC.2008.38","url":null,"abstract":"Model transformations are becoming increasingly important in software development, particularly as part of model-driven development approaches (MDD). This paper defines an approach for specifying transformations as constraints, and for verifying the correctness of these transformations.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"267 1","pages":"45-54"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79811575","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":"Optimizing Test Process Action Plans by Blending Testing Maturity Model and Design of Experiments","authors":"Hyejin Oh, Byoungju Choi, Hyuksoo Han, W. Wong","doi":"10.1109/QSIC.2008.19","DOIUrl":"https://doi.org/10.1109/QSIC.2008.19","url":null,"abstract":"Software testing is a core activity in quality assurance. To improve the test process, we can use best practice models which describe in detail what to do in organizational test processes. The improvement activities using best practice models are performed as follows: checking the current status of test processes, suggesting and planning new actions, and implementing the actions. However, it is difficult to apply all of these actions to the organization due to the limitation of resources. In this paper, we suggest a strategy for optimizing test process action plans. The background of this research is TMM (Testing Maturity Model), which is the most representative test process model. By applying design of experiments to the TMM assessment procedure, we can accept the actions selectively by statistical significance and find the best solution.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"267 1","pages":"57-66"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79812533","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":"Utilizing Formalization to Test Programs without Available Source Code (Short Paper)","authors":"Shaoying Liu","doi":"10.1109/QSIC.2008.40","DOIUrl":"https://doi.org/10.1109/QSIC.2008.40","url":null,"abstract":"How to test a program with no available source code is of great importance for software quality assurance in practice, but still remains a challenge. In this paper, we describe a novel approach to tackling this challenge. Its principal idea is first to formalize the informal requirements into formal operation specifications based upon program interface scenarios, and then utilize the specifications as a foundation for test case generation and test result analysis. We discuss how the formal specifications can be achieved and how formalization benefits the testing. In particular, we focus on the issue of how to test whether all functional scenarios defined in a specification are correctly implemented in the program. We present an example of applying the approach to an IC Card system to demonstrate its usage and to analyze its potential capability and challenges in practice.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"50 1","pages":"216-221"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80334059","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":"Testing in the Distributed Test Architecture: An Extended Abstract","authors":"R. Hierons","doi":"10.1109/QSIC.2008.11","DOIUrl":"https://doi.org/10.1109/QSIC.2008.11","url":null,"abstract":"Some systems interact with their environment at a number of physically distributed interfaces/ports and when testing such a system it is normal to place a local tester at each port. If the local testers cannot interact with one another and there is no global clock then we are testing in the distributed test architecture and this can introduce additional controllability and observability problems. While there has been interest in test generation algorithms that overcome controllability and observability problems, such algorithms lack generality since controllability and observability problems cannot always be overcome. In addition, traditionally only deterministic systems and models have been considered despite distributed systems often being non-deterministic. This paper describes recent work that characterized the power of testing in the distributed test architecture in the context of testing from a deterministic finite state machine and also work that investigated testing from a non-deterministic finite state machine and testing from an input output transition system. This work has the potential to lead to more general test generation algorithms for the distributed test architecture.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"150 1","pages":"11-14"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84468671","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":"Mapping Software Architecture Specification to Rewriting Logic (Short Paper)","authors":"Yujian Fu, Zhijiang Dong, Junhua Ding, Xudong He","doi":"10.1109/QSIC.2008.16","DOIUrl":"https://doi.org/10.1109/QSIC.2008.16","url":null,"abstract":"In this paper we present a systematic translation algorithm that maps a software architecture model to rewriting logics. We consider a nowadays typical component-based software architecture model - SAM. SAM is a formal software architecture model that integrates two formalisms - Petri nets and temporal logic. Our goal is to effectively describe the component based software architecture model SAM using a rewriting based semantics. This algorithm is implemented in Maude, a high performance declarative programming language that supports membership and rewriting logics. The contribution of this paper is we defined the translation algorithm to rewriting logic to show an interleaving semantic matching between the behavior model Petri net and rewriting logic.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"68 1","pages":"376-381"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90289210","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}