aduquet
I'm a junior research fellow and PhD student in computer science at Tartu University in Estonia.
Software Competence Center Hagenberg SCCHHagenberg, Austria
Pinned Repositories
ARM-TestOracle-Extention
FuzzingExp-GoogleOSS-Fuzz
This repo explores Google OSS-Fuzz
MetaExplorex-MasterThesis
Predicting-Survived-and-Killed-Mutants
RENE-PredictingMetamorphicRelations
Metamorphic Test (MT) is a software testing technique that addresses the test oracle issue. It differs from traditional testing techniques in that it looks at the relations between the inputs and outputs of different test cases executions rather than specific test results. Such relations are known as Metamorphic Relationships (MRs), and they are the MT core aspect. In MT, testers may indirectly test the System Under Test (SUT) by looking at whether the inputs and outputs meet the MRs. If a particular MR is not violated, it does not guarantee that the program will be implemented correctly. However, if an MR is violated for certain test cases, then there must be a fault in the SUT. MRs are currently discovered manually, which necessitates a thorough grasp of the SUT and the application domain. As a result, MT might take a long time and be prone to errors. To mitigate this problem, the metamorphic relationship prediction (PMR) approach was proposed. PMR uses a classification model based on features gathered from the SUT source code, at the method level, to predict whether a new method would exhibit a particular predefined MR. The goal of our research is to investigate how effectively the suggested PMR approach, which has been tested on Java methods, may be applied to other programming languages. To do this, we first replicated the prior work and then expanded the PMR to Python and C++.
SCminer
Extracting static features from source code
Using-Rule-Mining-for-Automatic-Test-Oracle-Generation
Software testing is essential, but also one of the costliest and time-consuming activities in the software development process. However, software testing has historically been a task that has been recognised to be time-consuming and tedious as well as expensive, given the size and complexity of large-scale software systems. Such cost and time involved in testing can be managed through test automation. Software testing, automated or not, has four major steps: tests suite generation, predicting the outcomes of the tests, execute the SUT with the suite tests to obtain the actual outcome and compare the predicted outcome against the actual outcome to obtain a verdict (pass/fail). There are two significant challenges in the testing process: find successful test inputs, i.e., such inputs that can reveal faults in SUT, and determine what should be the output of a system after the execution of the test cases. The second challenge refers to one of the most significant problems in software testing automation, i.e., the test oracle problem. In this research, we developed a methodology to generate tests oracles using the state information of the System Under Test (SUT) during the execution of the tests. We derive our approach in the form of rules using the Association Rule Mining (ARM) technique. ARM attempt to find relationships or associations between categorical variables in large transactional data sets. Therefore, we wanted to investigate the potential of ARM to model SUT state. In particular, we were interested in understanding whether the information provided by the resulting model can help to verify the correct operation of the SUT new versions. We focus at a level of software testing called unit testing, which tests each unit or component of the SUT separately. Furthermore, this research uses the Stack Class of the Java Collection framework as SUT. The rule mining approach can detect that something is wrong; this is when a rule is violated. Then, by analysing the rules violated, it is possible to localise the fault. However, in terms of time-consuming, the rule mining approach takes much time, in particular when the number of rules is high, for instance. We provide an analysis of different performance metrics and discuss the results obtained.
aduquet's Repositories
aduquet/FuzzingExp-GoogleOSS-Fuzz
This repo explores Google OSS-Fuzz
aduquet/MetaExplorex-MasterThesis
aduquet/RENE-PredictingMetamorphicRelations
Metamorphic Test (MT) is a software testing technique that addresses the test oracle issue. It differs from traditional testing techniques in that it looks at the relations between the inputs and outputs of different test cases executions rather than specific test results. Such relations are known as Metamorphic Relationships (MRs), and they are the MT core aspect. In MT, testers may indirectly test the System Under Test (SUT) by looking at whether the inputs and outputs meet the MRs. If a particular MR is not violated, it does not guarantee that the program will be implemented correctly. However, if an MR is violated for certain test cases, then there must be a fault in the SUT. MRs are currently discovered manually, which necessitates a thorough grasp of the SUT and the application domain. As a result, MT might take a long time and be prone to errors. To mitigate this problem, the metamorphic relationship prediction (PMR) approach was proposed. PMR uses a classification model based on features gathered from the SUT source code, at the method level, to predict whether a new method would exhibit a particular predefined MR. The goal of our research is to investigate how effectively the suggested PMR approach, which has been tested on Java methods, may be applied to other programming languages. To do this, we first replicated the prior work and then expanded the PMR to Python and C++.
aduquet/BugsInPy
BugsInPy: Benchmarking Bugs in Python Projects
aduquet/Assessing-the-Strength-of-Metamorphic-Testing
aduquet/Exploring-atheris
I forked this repo for reproducing its examples
aduquet/flask-hello-world
Flask Hello World Example for Render
aduquet/fuzzingbook
Project page for "The Fuzzing Book"
aduquet/LLMs-from-scratch
Implementing a ChatGPT-like LLM from scratch, step by step
aduquet/MATmute-Docker
aduquet/MetaExploreX-docker
aduquet/MetaExploreX-fd
aduquet/MetaExplorex-Logs
This repository contains log files and example data for the MetaExploreX tool, a visualisation and exploration tool designed for analysing the outcomes of metamorphic testing.
aduquet/MetaExploreX-microservise
aduquet/Metamorphic-Lighthouse
aduquet/MetaTrimmer
aduquet/MRs-Where2findThem
Metamorphic Relations and Where to Find Them :)
aduquet/MyPublications
aduquet/numpy
The fundamental package for scientific computing with Python.
aduquet/PhDStuff_repo
aduquet/SelectingConstrainingMRsScSoft
aduquet/test-amplification-SEAA2023
Provides code and results evaluating an approach that generates amplified regression tests.
aduquet/Test-Data-Driven-Method-for-Selecting-and-Constraining-Metamorphic-Relations
aduquet/Test-generation-with-Pynguin
aduquet/todo.github.io
aduquet/todo_flutter
aduquet/toy-example
aduquet/Useful-codes
Some really useful codes ;)
aduquet/VST2023-BugORNOTbug
This repo contains the full set of data generated during the experiments performed for the paper Bug or not Bug? Analysing the Reasons Behind Metamorphic Relation Violations, as well as all scripts
aduquet/vsTodoPlugin
Personalised vsCode extension