Auflistung nach Schlagwort "Software Testing"
1 - 6 von 6
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragBadger: Complexity Analysis with Fuzzing and Symbolic Execution(Software Engineering and Software Management 2019, 2019) Noller, Yannic; Kersten, Rody; Pasareanu, CorinaIn this work, we report on our recent research results on “Badger: Complexity Analysis with Fuzzing and Symbolic Execution” which was published in the proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis [NKP18]. Badger employs a hybrid software analysis technique that combines fuzzing and symbolic execution for finding performance bottlenecks in software. Our primary goal is to use Badger to discover vulnerabilities which are related to worst-case time or space complexity of an application. To this end, we use a cost-guided fuzzing approach, which produces inputs to increase the code coverage, but also to maximize a resource-related cost function, such as execution time or memory usage. We combine this fuzzing technique with a customized symbolic execution, which is also guided by heuristics that aim to increase the same cost. Experimental evaluation shows that this hybrid approach enables us to use the strengths of both techniques and overcome their individual weaknesses.
- KonferenzbeitragCooperative Test-Case Generation with Verifiers(Software Engineering 2020, 2020) Beyer, Dirk; Jakobs, Marie-ChristineSoftware testing is widely applied in software quality assurance. Often, test suites fulfilling a certain coverage measure must be constructed. Manually constructing them is laborious. However, numerous automatic test-generation approaches exist. Due to various strengths and weaknesses of individual approaches, hybrid approaches, which combine different approaches, construct test suites that achieve higher coverage values than test suites generated by individual approaches. We propose the hybrid test-generation approach CoVeriTest. CoVeriTest is flexible, cooperative, and based on verification technology. It iteratively executes a sequence of verifiers that may exchange analysis information between each other and output a test case whenever they reach a test goal. The verifiers, their individual time limits, and which analysis information is exchanged between them is configurable. We experimented with different CoVeriTest configurations. The best configuration participated in the 1st International Competition on Software Testing (Test-Comp’19) and won the third place. This proves the value of our CoVeriTest approach.
- KonferenzbeitragImproving Testing Behavior by Gamifying IntelliJ(Software Engineering 2024 (SE 2024), 2024) Straubinger, Philipp; Fraser, Gordon
- ConferencePaperLearning to Generate Fault-revealing Test Cases in Metamorphic Testing(Software Engineering 2021, 2021) Spieker, Helge; Gotlieb, ArnaudMetamorphic Testing is a software testing paradigm which aims at using necessary properties of a system under test, called metamorphic relations (MR), to either check its expected outputs, or to generate new test cases. Metamorphic Testing has been successful to test programs for which a full oracle is unavailable or to test programs with uncertainties on expected outputs such as learning systems. In this paper, we formulate the effective selection of MRs as a reinforcement learning problem, based on contextual bandits. Our method Adaptive Metamorphic Testing sequentially selects a MR that is expected to provide the highest payoff, i.e., that is most likely to reveal faults. Which MRs are likely to reveal faults is learned from successive exploration trials. The bandit explores the available MRs and evaluates the fault landscape of the system under test, thereby providing valuable information to the tester. We present experimental results over two applications in machine learning, namely image classification and object detection, where Adaptive Metamorphic Testing efficiently identifies weaknesses of the tested systems. The original paper "Adaptive Metamorphic Testing with Contextual Bandits" first appeared in the Journal of Systems and Software (2020).
- TextdokumentModel-in-the-Loop and Software-in-the-Loop Testing of Closed-Loop Automotive Software with Arttest(INFORMATIK 2017, 2017) Hansen, Norman; Wiechowski, Norbert; Kugler, Alexander; Kowalewski, Stefan; Rambow, Thomas; Busch, RainerIn this paper, we present Arttest, a tool for functional testing of block diagrams developed with MATLAB/Simulink. We introduce testing concepts for closed-loop tests of automotive software on model and software level, the integration of the concepts into a signal specification language and correspondent tool support. Furthermore, we show the applicability of the concepts and the test execution automation based on an example for model-in-the-loop and software-in-the-loop tests.
- KonferenzbeitragTime-aware Test Execution Scheduling for Cyber-Physical Systems(Software Engineering and Software Management 2019, 2019) Mossige, Morten; Gotlieb, Arnaud; Spieker, Helge; Meling, Hein; Carlsson, MatsThe paper "Time-aware Test Execution Scheduling for Cyber-Physical Systems"first appeared in the application track of the 23rd International Conference on Principles and Practice of Constraint Programming (CP 2017). Testing cyber-physical systems involves the execution of test cases on target-machines equipped with the latest release of a software control system. When testing industrial robots, it is common that the target machines need to share some common resources, e.g., costly hardware devices, and so there is a need to schedule test case execution on the target machines, accounting for these shared resources. With a large number of such tests executed on a regular basis, this scheduling becomes difficult to manage manually. In fact, with manual test execution planning and scheduling, some robots may remain unoccupied for long periods of time and some test cases may not be executed. We introduce TC-Sched, a time-aware method for automated test case execution scheduling. TC-Sched uses Constraint Programming to schedule tests to run on multiple machines constrained by the tests’ access to shared resources, such as measurement or networking devices. We will further discuss challenges and requirements encountered when automating testing for industrial robots.