Giter Site home page Giter Site logo

flast's Introduction

Know Your Neighbor: Fast Static Prediction of Test Flakiness

This repository is a companion page for the submission "Know Your Neighbor: Fast Static Prediction of Test Flakiness".

It contains all the material required for replicating the experiments, including: the algorithm implementation, the datasets and their ground truth, and the scripts for the experiments replication.

It also contains additional material used to investigate the effect of FLAST's parameter on its effectiveness and efficiency.

Experiment Replication

In order to replicate the experiment follow these steps:

Getting started

  1. Clone the repository:

    • git clone https://github.com/FlakinessStaticDetection/FLAST
  2. The experiments have been run using python3.9.2. You can get the appropriate version for your OS here.

  3. Install the additional python packages required:

    • python3 -m pip install -r requirements.txt

Dataset creation

Decompress the dataset:

  • tar zxvf dataset.tgz

Answering the Research Questions

Execute the research questions scripts.

RQ1 and RQ2:
  • python3 py/eff-eff.py
RQ3:
  • python3 py/compare-pinto.py

Pseudocode

The pseudocode of FLAST is available here.

Directory Structure

This is the root directory of the repository. The directory is structured as follows:

FLAST
 |
 |--- dataset/            Dataset folder, automatically generated after the decompression of `dataset.tgz`.
 |
 |--- manual-inspection/  Tests considered in the manual inspection.
 |
 |--- parameters/         The investigation on the effect of FLAST's parameters.
 |
 |--- pseudocode/         The pseudocode of FLAST.
 |
 |--- py/                 Scripts with FLAST implementation and scripts to run experiments.
 |
 |--- results/            Folder with the results of the experiments.

flast's People

Contributors

flakinessstaticdetection avatar hanzomaster avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.