Many modern code coverage tools track and report code coverage data generated from running tests during continuous integration. They report code coverage data through a variety of channels, including email, Slack, Mat...
详细信息
ISBN:
(纸本)9798400705885
Many modern code coverage tools track and report code coverage data generated from running tests during continuous integration. They report code coverage data through a variety of channels, including email, Slack, Mattermost, or through the web interface of social coding platforms such as GitHub. In fact, this ensemble of tools can be configured in such a way that the software engineer gets a failing status check when code coverage drops below a certain threshold. In this study, we broadly investigate the opinions and experience with code coverage tools through a survey among 279 software engineers whose projects use the codecov coverage tool and bot. In particular, we are investigating why software engineers would ignore a failing status check caused by drop in code coverage. We observe that >80% of software engineers - at least sometimes - ignore these failing status checks, and we get insights into the main reasons why software engineers ignore these checks.
As people pay more and more attention to software security, the technology of vulnerability mining has gradually become the research hotspot in the industry. Fuzz testing is the mainstream of the vulnerability mining ...
详细信息
ISBN:
(纸本)9781450364195
As people pay more and more attention to software security, the technology of vulnerability mining has gradually become the research hotspot in the industry. Fuzz testing is the mainstream of the vulnerability mining technology. In order to solve the shortcomings of the traditional document fuzz testing, such as efficiency is not high and the function is missing, so a new method of document fuzz testing will be introduced. In this paper, there will be a new way to streamline the test sample. It depends on the code coverage. So the smallest sample set of maximum code coverage will be gotten by using this method. It relies on virtual machine technology, it is more reliable and more accurate than Binary instrumentation technology. This method can effectively reduce a large number of invalid test.
Testing is the process of evaluating quality and correctness of software. In testing, we always check different functions of application. Test cases are the measure component, which is required in testing the function...
详细信息
ISBN:
(纸本)9781479980819
Testing is the process of evaluating quality and correctness of software. In testing, we always check different functions of application. Test cases are the measure component, which is required in testing the functions and conditions. Test case is nothing but a condition which we want to check. It is very difficult to add test cases manually, so that we generate set of test cases called Test Suite. To generate the test suite with high code coverage we apply Memetic algorithm. code coverage is not only important factor in test suite but also measuring part of test suite. code coverage measure used to describe the degree of source code program which is tested. Test case may have more than one goal so that we can check feasibility of particular goal. We have implement Memetic algorithm to find code coverage. Here we also applied Memetic algorithm on adaptive local search. In the evaluation it is found that code coverage of Memetic algorithm on adaptive local search is maximum than Memetic algorithm.
Test coverage criteria help the tester to analyze the quality of the test suite, especially in an evolving system where it can be used to guide the prioritization of regression tests as well as the testing effort of n...
详细信息
ISBN:
(纸本)9781450387538
Test coverage criteria help the tester to analyze the quality of the test suite, especially in an evolving system where it can be used to guide the prioritization of regression tests as well as the testing effort of new code. However, coverage analysis of more powerful criteria such as path coverage is still a challenging task due to the lack of supporting tools. In this paper, we evaluate the opportunity of using machine learning algorithms to estimate the prime-path coverage of a test suite at method level. We use a knowledge discovery in database framework and a dataset built from real-world projects to devise a regression model for prime-path prediction. Experimental results demonstrate that a suitable predictive model can be defined with RMSE 0.118 on cross-validation and an average error rate of 26% in a cross-project scenario. We also show how the tester can use the proposed strategy in a practical cross-project scenario.
Context: Software development projects increasingly adopt unit testing as a way to identify and correct program faults early in the construction process. code that is unit tested should therefore have fewer failures a...
详细信息
ISBN:
(纸本)9781450395557
Context: Software development projects increasingly adopt unit testing as a way to identify and correct program faults early in the construction process. code that is unit tested should therefore have fewer failures associated with it. Objective: Compare the number of field failures arising in unit tested code against those arising in code that has not been unit tested. Method: We retrieved 2 083 979 crash incident reports associated with the Eclipse integrated development environment project, and processed them to obtain a set of 126 026 unique program failure stack traces associated with a specific popular release. We then run the JaCoCo code test coverage analysis on the same release, obtaining results on the line, instruction, and branch-level coverage of 216 392 methods. We also extracted from the source code the classes that are linked to a corresponding test class so as to limit test code coverage results to 1 263 classes with actual tests. Finally, we correlated unit tests with failures at the level of 9 523 failing tested methods. Results: Unit-tested code does not appear to be associated with fewer failures. Conclusion: Unit testing on its own may not be a sufficient method for preventing program failures.
Quality of code is an important and critical health indicator of any software development project. However, due to the complexity and ambiguousness of calculating this indicator it is rarely used in commercial contrac...
详细信息
ISBN:
(纸本)9781424448623
Quality of code is an important and critical health indicator of any software development project. However, due to the complexity and ambiguousness of calculating this indicator it is rarely used in commercial contracts. As programmers are much more motivated with respect to the delivery of functionality than quality of code beneath it, they often produce low-quality code, which leads to post-delivery and maintenance problems. The proposed mechanism eliminates this lack of attention to Quality of code. The results achieved after the implementation of the mechanism are more motivated programmers, higher project sponsor confidence and a predicted Quality of code.
Dynamic symbolic execution is a promising approach for software analyzing and testing. However, it fails to scale to large programs due to the exponential number of paths to be explored. This paper focus on tackling l...
详细信息
ISBN:
(纸本)9783037854822
Dynamic symbolic execution is a promising approach for software analyzing and testing. However, it fails to scale to large programs due to the exponential number of paths to be explored. This paper focus on tackling loop caused path explosion problems and proposes a new approach to reduce paths that produce the same effects. We present a loop transparency strategy that makes use of the decision graph of under test program to discard constraints that produce paths with only a different number of iterations. A dynamic software testing tool LTDse based on loop transparency is designed and evaluated on three benchmarks. The experimental results show that our approach is effective since it can achieve better code coverage or require fewer program executions than traditional strategies.
Software testing is a key approach to guarantee the software quality. It is the objective unremittingly pursed by virtue of effective testing cases in the shortest time. The test suite optimization method is a NP-comp...
详细信息
ISBN:
(纸本)9781538622094
Software testing is a key approach to guarantee the software quality. It is the objective unremittingly pursed by virtue of effective testing cases in the shortest time. The test suite optimization method is a NP-complete problem. Although some people apply k-means clustering algorithm to the test suite reduction, the algorithm is unstable and seldom considers the coverage rate of such test cases;as a result, it will waste many unnecessary testing time in redundant cases and always result in high cost. Therefore, this paper introduces k-medoids thought of the clustering algorithm and then proposes a method of parameter generation test suite characterized by cyclomatic complexity and code coverage rate. This method utilizes the greedy algorithm to process the streamlined test suite while guaranteeing the cases coverage rate and the error detection rate finally gain the minimal test suite. As indicated by the stimulation experimental results, our method features higher coverage rate with lower complexity under the streamlined test suite of the same quantity.
Customers need to know how reliable a new release is, and whether or not the new release has substantially different, either better or worse, reliability than the one currently in production. Customers are demanding q...
详细信息
ISBN:
(纸本)9781538620724
Customers need to know how reliable a new release is, and whether or not the new release has substantially different, either better or worse, reliability than the one currently in production. Customers are demanding quantitative evidence, based on pre-release metrics, to help them decide whether or not to upgrade (and thereby offer new features and capabilities to their customers). Finding ways to estimate future reliability performance is not easy - we have evaluated many pre-release development and test metrics in search of reliability predictors that are sufficiently accurate and also apply to a broad range of software products. This paper describes a successful model that has resulted from these efforts, and also presents both a functional extension and a further conceptual simplification of the extended model that enables us to better communicate key release information to internal stakeholders and customers, without sacrificing predictive accuracy or generalizability. Work remains to be done, but the results of the original model, the extended model, and the simplified version are encouraging and are currently being applied across a range of products and releases. To evaluate whether or not these early predictions are accurate, and also to compare releases that are available to customers, we use a field software reliability assessment mechanism that incorporates two types of customer experience metrics: field bug encounters normalized by usage, and field bug counts, also normalized by usage. Our 'release-over-release' strategy combines the 'maturity assessment' component (i.e., estimating reliability prior to release to the field) and the 'reliability assessment' component (i.e., gauging actual reliability after release to the field). This overall approach enables us to both predict reliability and compare reliability results for recent releases for a product.
We propose a novel notion of data-flow coverage for testing declarative programs. Moreover, we extend an automatic test-case generator such that it can achieve data-flow coverage. The coverage information is obtained ...
详细信息
ISBN:
(纸本)9781595939197
We propose a novel notion of data-flow coverage for testing declarative programs. Moreover, we extend an automatic test-case generator such that it can achieve data-flow coverage. The coverage information is obtained by instrumenting a program such that it collects coverage information during its execution. Finally, we show the benefits of data-flow based testing for a couple of example applications.
暂无评论