Loop Transparency for Scalable Dynamic Symbolic Execution

2012 ◽  
Vol 201-202 ◽  
pp. 242-245
Author(s):  
Xiao Li Ji ◽  
Xiao Song Zhang ◽  
Ting Chen ◽  
Xiao Shan Li ◽  
Lei Jiang

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.

Author(s):  
N. Induja ◽  
R. Maruthi

The environments where the build to focus the warehouse to maintain all the business aspects are satisfied and the quality are obtained on the functionalities are acting up to the users mark. The objective of this paper is to evaluate and initiate a mechanism to evaluate automation tools effectively, at the moment. There are various systems built and even if they are platform independent and also if existing with additional features they are having many demerits that don't satisfy the end user. An important contribution of this paper is the development of the metric suite that facilitates assessment and selection of a desired testing tool for automated testing and in relation to the environment for the software is developed. At the software industry it is a high value for project management team selecting the tools that may satisfy the requirement satisfactions highlighted by the end user to be satisfied to maintain the business mix.


Author(s):  
Sangharatna Godboley ◽  
Arpita Dutta ◽  
Durga Prasad Mohapatra

Being a good software testing engineer, one should have the responsibility towards environment sustainability. By using green principles and regulations, we can perform Green Software Testing. In this paper, we present a new approach to enhance Branch Coverage and Modified Condition/Decision Coverage uses concolic testing. We have proposed a novel transformation technique to improve these code coverage metrics. We have named this new transformation method Double Refined Code Transformer (DRCT). Then, using JoulMeter, we compute the power consumption and energy consumption in this testing process. We have developed a tool named Green-DRCT to measure energy consumption while performing the testing process.


Author(s):  
Dávid Honfi ◽  
Zoltán Micskei

Testing is a significantly time-consuming, yet commonly employed activity to improve the quality of software. Thus, techniques like dynamic symbolic execution were proposed for generating tests only from source code. However, current approaches usually could not create thorough tests for software units with dependencies (e.g. calls to file system or external services). In this paper, we present a novel approach that synthesizes an isolation sandbox, which interacts with the test generator to increase the covered behaviour in the unit under test. The approach automatically transforms the code of the unit under test, and lets the test generator choose values for parameters in the calls to dependencies. The paper presents a prototype implementation that collaborates with the IntelliTest test generator. The automated isolation is evaluated on source code from open-source projects. The results show that the approach can significantly increase the code coverage achieved by the generated tests.


2019 ◽  
Vol 8 (3) ◽  
pp. 4265-4271

Software testing is an essential activity in software industries for quality assurance; subsequently, it can be effectively removing defects before software deployment. Mostly good software testing strategy is to accomplish the fundamental testing objective while solving the trade-offs between effectiveness and efficiency testing issues. Adaptive and Random Partition software Testing (ARPT) approach was a combination of Adaptive Testing (AT) and Random Partition Approach (RPT) used to test software effectively. It has two variants they are ARPT-1 and ARPT-2. In ARPT-1, AT was used to select a certain number of test cases and then RPT was used to select a number of test cases before returning to AT. In ARPT-2, AT was used to select the first m test cases and then switch to RPT for the remaining tests. The computational complexity for random partitioning in ARPT was solved by cluster the test cases using a different clustering algorithm. The parameters of ARPT-1 and ARPT-2 needs to be estimated for different software, it leads to high computation overhead and time consumption. It was solved by Improvised BAT optimization algorithms and this approach is named as Optimized ARPT1 (OARPT1) and OARPT2. By using all test cases in OARPT will leads to high time consumption and computational overhead. In order to avoid this problem, OARPT1 with Support Vector Machine (OARPT1-SVM) and OARPT2- SVM are introduced in this paper. The SVM is used for selection of best test cases for OARPT-1 and OARPT-2 testing strategy. The SVM constructs hyper plane in a multi-dimensional space which is used to separate test cases which have high code and branch coverage and test cases which have low code and branch coverage. Thus, the SVM selects the best test cases for OARPT-1 and OARPT-2. The selected test cases are used in OARPT-1 and OARPT-2 to test software. In the experiment, three different software is used to prove the effectiveness of proposed OARPT1- SVM and OARPT2-SVM testing strategies in terms of time consumption, defect detection efficiency, branch coverage and code coverage.


Author(s):  
Kaled M. Alshmrany ◽  
Rafael S. Menezes ◽  
Mikhail R. Gadelha ◽  
Lucas C. Cordeiro

AbstractWe describe and evaluate a novel white-box fuzzer for C programs named , which combines fuzzing and symbolic execution, and applies Bounded Model Checking (BMC) to find security vulnerabilities in C programs. explores and analyzes C programs (1) to find execution paths that lead to property violations and (2) to incrementally inject labels to guide the fuzzer and the BMC engine to produce test-cases for code coverage. successfully participates in Test-Comp’21 and achieves first place in the category and second place in the category.


Sign in / Sign up

Export Citation Format

Share Document