By Topic

Quality Software (QSIC), 2012 12th International Conference on

Date 27-29 Aug. 2012

Filter Results

Displaying Results 1 - 25 of 61
  • [Back cover]

    Page(s): C4
    Save to Project icon | Request Permissions | PDF file iconPDF (362 KB)  
    Freely Available from IEEE
  • [Title page i]

    Page(s): i
    Save to Project icon | Request Permissions | PDF file iconPDF (27 KB)  
    Freely Available from IEEE
  • [Title page iii]

    Page(s): iii
    Save to Project icon | Request Permissions | PDF file iconPDF (134 KB)  
    Freely Available from IEEE
  • [Copyright notice]

    Page(s): iv
    Save to Project icon | Request Permissions | PDF file iconPDF (168 KB)  
    Freely Available from IEEE
  • Table of contents

    Page(s): v - ix
    Save to Project icon | Request Permissions | PDF file iconPDF (27 KB)  
    Freely Available from IEEE
  • Message from the QSIC 2012 General Chair

    Page(s): x
    Save to Project icon | Request Permissions | PDF file iconPDF (93 KB)  
    Freely Available from IEEE
  • Message from the QSIC 2012 Program Chairs

    Page(s): xi
    Save to Project icon | Request Permissions | PDF file iconPDF (103 KB)  
    Freely Available from IEEE
  • Message from the QSIC 2012 Industry Track Chairs

    Page(s): xii
    Save to Project icon | Request Permissions | PDF file iconPDF (91 KB)  
    Freely Available from IEEE
  • Message from the Workshop on Embedded System Software Development and Quality Assurance (WESQA) Chairs

    Page(s): xiii
    Save to Project icon | Request Permissions | PDF file iconPDF (109 KB)  
    Freely Available from IEEE
  • QSIC 2012 Conference Committees

    Page(s): xiv
    Save to Project icon | Request Permissions | PDF file iconPDF (100 KB)  
    Freely Available from IEEE
  • QSIC 2012 Program Committee

    Page(s): xv - xvi
    Save to Project icon | Request Permissions | PDF file iconPDF (115 KB)  
    Freely Available from IEEE
  • QSIC 2012 Software Quality in Practice Industry Track Program Committee

    Page(s): xvii
    Save to Project icon | Request Permissions | PDF file iconPDF (121 KB)  
    Freely Available from IEEE
  • QSIC 2012 Additional Reviewers

    Page(s): xviii
    Save to Project icon | Request Permissions | PDF file iconPDF (77 KB)  
    Freely Available from IEEE
  • Keynote speakers

    Page(s): xix - xx
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (184 KB)  

    These keynote speeches discuss the following: Quality Assurance for Evolving Systems; Why Is Software So Bad? (Is It?). View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Leveraging Method Call Anomalies to Improve the Effectiveness of Spectrum-Based Fault Localization Techniques for Object-Oriented Programs

    Page(s): 1 - 8
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (373 KB) |  | HTML iconHTML  

    Spectrum-based fault localization (SFL) is a lightweight automated diagnosis technique. However, when applied to object-oriented programs, its diagnostic accuracy is limited as suspicious statements are distributed in different classes. In this paper, we propose an approach to leveraging method call anomalies to improve the effectiveness of SFL techniques for locating faulty statements in an object oriented program. First, we compute the suspiciousness for each class based on the difference in its method call sequences between passed and failed runs. Then, we use the suspiciousness information of classes to refine SFL ranks in order to enhance their fault localization effectiveness of object-oriented software. The empirical results show that the proposed approach is able to improve the effectiveness of SFL techniques. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Fault Localization for Null Pointer Exception Based on Stack Trace and Program Slicing

    Page(s): 9 - 12
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (254 KB) |  | HTML iconHTML  

    Null pointer exception is a commonly occurring error in Java programs, and many static analysis tools can identify such errors. However, most of existing tools are pure static analysis and suffer from the common problems of the pure static approaches. In this paper, we present a new approach for identifying null dereferences by combining the dynamically generated information (from the stack trace) with the static analysis. Starting at a dereference statement, where the null pointer exception occurred, our approach performs a backward program slicing guided by the stack trace. Then it performs the null identifying analysis and alias analysis on the sliced program. The approach also visualizes the analysis results and the related source codes. Finally, the paper also presents an implementation of the null pointer exception analysis. The results show the advantage of our approach for locating null pointer exception. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Compressed C4.5 Models for Software Defect Prediction

    Page(s): 13 - 16
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (151 KB) |  | HTML iconHTML  

    Defects in every software must be handled properly, and the number of defects directly reflects the quality of a software. In recent years, researchers have applied data mining and machine learning methods to predicting software defects. However, in their studies, the method in which the machine learning models are directly adopted may not be precise enough. Optimizing the machine learning models used in defects prediction will improve the prediction accuracy. In this paper, aiming at the characteristics of the metrics mined from the open source software, we proposed three new defect prediction models based on C4.5 model. The new models introduce the Spearman's rank correlation coefficient to the basis of choosing root node of the decision tree which makes the models better on defects prediction. In order to verify the effectiveness of the improved models, an experimental scheme is designed. In the experiment, we compared the prediction accuracies of the existing models and the improved models and the result showed that the improved models reduced the size of the decision tree by 49.91% on average and increased the prediction accuracy by 4.58% and 4.87% on two modules used in the experiment. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Toward Effectively Locating Integration-Level Faults in BPEL Programs

    Page(s): 17 - 20
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (147 KB) |  | HTML iconHTML  

    Business Process Execution Language (BPEL) is a widely recognized executable service composition language. Since BPEL integrates services of desired functionality to compose business processes, it is significantly different from typical programming languages. How to effectively locate the integration-level faults in BPEL programs is an open issue. In this paper, we propose the BPEL fault localization guidelines based on the characteristics of BPEL programs, and adapt Tarantula, a traditional fault localization technique, to locate the integration-level faults in BPEL programs. We also conducted an empirical study to demonstrate the feasibility of our methodology. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Efficient Refinement Checking for Model-Based Mutation Testing

    Page(s): 21 - 30
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (239 KB) |  | HTML iconHTML  

    In model-based mutation testing, a test model is mutated for test case generation. The resulting test cases are able to detect whether the faults in the mutated models have been implemented in the system under test. For this purpose, a conformance check between the original and the mutated model is required. We have developed an approach for conformance checking of action systems, which are well-suited to specify reactive and non-deterministic systems. We rely on constraint solving techniques. Both, the conformance relation and the transition relation are encoded as constraint satisfaction problems. Earlier results showed the potential of our constraint-based approach to outperform explicit conformance checking techniques, which often face state space explosion. In this work, we go one step further and show optimisations that really boost our performance. In our experiments, we could reduce our runtimes by 80%. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Function Substitution: Towards Constraint Solving in Software Testing

    Page(s): 31 - 40
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (264 KB) |  | HTML iconHTML  

    Constraint solving is a fundamental tenet of most test case generation strategies. However, conventional constraint solving methods were not designed in consideration of that aspect of test case generation. It has led to a situation where test case generation techniques can miss test cases when constraints contain function invocations. This is due to the fact that, when solving constraints to generate test cases, function invocations are not effectively handled and, as a result, solutions to some constraints are not found even though they do exist. This problem occurs in both specification-based and code-based testing. To address the problem, this paper presents a function substitution method that transforms test case constraints that contain certain types of functions into equivalent constraints that do not contain those functions. The transformation preserves the solution space and avoids missed test cases. As a result, the completeness of test case generation can be improved. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reducing the Size of Dynamic Slicing with Constraint Solving

    Page(s): 41 - 48
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (217 KB) |  | HTML iconHTML  

    Debugging consumes a considerable amount of time in software engineering. Even though numerous techniques have been introduced for automated debugging, they are hardly used in practice. Reasons are the computational overhead imposed by these techniques and the lack of sufficiently precise explanations. There is a need for tools which undertake the task of narrowing down the most likely fault locations. In this paper, we focus on dynamic program slicing. In particular, we present a technique that reduces the number of statements contained in a dynamic slice. This technique is based on constraint computations and allows for removing statements from slices which are unlikely to be the root cause for an error. First empirical results indicate an average reduction of the number of statements of more than 28% in the resulting slice compared to relevant slicing. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An IOSTS Based Passive Testing Approach for the Validation of Data-Centric Protocols

    Page(s): 49 - 58
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2234 KB) |  | HTML iconHTML  

    Passive testing techniques are used when there is no access to the system interface or when the system cannot be interrupted from its normal operation. It is a way of verifying whether the system meets the requirements. Many passive testing techniques consider only the control portion of the protocol neglecting the data portions, or are confronted with an overloaded amount of data values to consider. We propose a novel approach based on protocol properties defined in terms of Input-Output Symbolic Transition Systems (IOSTS) and show how they can be tested on execution traces. In our approach, we check both the control and data portions by integrating the concepts of symbolic execution techniques to provide a property that can be analysed through a parametric trace slicing approach. Our approach is illustrated by the application to the SIP protocol. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A New Method for Constructing Metamorphic Relations

    Page(s): 59 - 68
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (190 KB) |  | HTML iconHTML  

    A fundamental problem for software testing is the oracle problem, which means that in many practical situations, it is extremely expensive, if not impossible, to verify the test result given any possible program input. Metamorphic testing is an approach to alleviating the oracle problem. The key part of metamorphic testing is a set of necessary properties of the software under test, namely metamorphic relations. Metamorphic relations not only help generate test cases, but also provide a mechanism to partially verify the test results without the need of oracle. In most previous studies, metamorphic relations were identified manually by testers in an ad hoc way. There is no systematic methodology that helps us identify metamorphic relations. In this paper, we propose a simple method, namely, the composition of metamorphic relations, for systematically constructing new metamorphic relations based on the already identified metamorphic relations. We conduct a case study and show that new metamorphic relations can be easily constructed by compositing some existing metamorphic relations. It is also observed that the new metamorphic relations are very likely to deliver a higher cost-effectiveness of metamorphic testing than the original metamorphic relations. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Passive Testing of Timed Systems with Timeouts

    Page(s): 69 - 78
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (309 KB) |  | HTML iconHTML  

    This paper presents a framework to perform passive testing for systems where time aspects affect their behavior. Temporal aspects can be associated with both performance of actions and delays/timeouts. Actually, timeouts have the capability of affecting the subsequent behaviors of the system. Therefore, the expected functional behavior of the studied systems must take into account the possible timeouts. In our approach, so called invariants represent the most relevant expected properties of the implementation under test. We present algorithms to decide both the correctness of the proposed invariants with respect to a given specification and the correctness of the traces extracted from the implementation under test with respect to a set of invariants. The soundness of the method related to a specific implementation relation is also shown. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automated Discovery of Valid Test Strings from the Web Using Dynamic Regular Expressions Collation and Natural Language Processing

    Page(s): 79 - 88
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (265 KB) |  | HTML iconHTML  

    Classic approaches to test input generation -- such as dynamic symbolic execution and search-based testing -- are commonly driven by a test adequacy criterion such as branch coverage. However, there is no guarantee that these techniques will generate meaningful and realistic inputs, particularly in the case of string test data. Also, these techniques have trouble handling path conditions involving string operations that are inherently complex in nature. This paper presents a novel approach of finding valid values by collating suitable regular expressions dynamically that validate the format of the string values, such as an email address. The regular expressions are found using web searches that are driven by the identifiers appearing in the program, for example a string parameter called email Address. The identifier names are processed through natural language processing techniques to tailor the web queries. Once a regular expression has been found, a secondary web search is performed for strings matching the regular expression. An empirical study is performed on case studies involving String input validation code from 10 open source projects. Compared to other approaches, the precision of generating valid strings is significantly improved by employing regular expressions and natural language processing techniques. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.