Git Product home page Git Product logo

derick---testcasemutation's Introduction

Derick---TestCaseMutation

Important directories/subdirectories/files:

pta - collected and modified test suites for Druid, organised into subfolders. pta/utils contains class objects used in testing. script/classes - folder containing code snippets and class objects script/mutablecases - selected Druid-compatible test cases used in testing script. script/mutatedcases - destination folder for mutated test cases. script/demofolder - examples of mutated test cases.

classes/mutatorstub.py - Test functions for generic and specific mutations. testmutation.py - testmutation bash script runmutdemo - bash script to run testmutation.py on every .java file in subdirectories of current filepath, for testing purposes.

Current testmutation.py script creates takes a .java test file that is compatible with the Druid static analyzer.

It currently has two modes,

  1. A simple mutation combination method that creates unique test cases which are combinations of the various mayAlias and notAlias stubs used for alias analysis.

python testmutation.py testfile.java

  1. a basic Regular expression tester for debugging purposes

python testmutation.py testfile.java [-re]

and.

  1. (WIP) a basic framework for a test case synthesizer that uses the mutation combination method for possible synthesis.

python testmutation.py testfile.java [-syn synthesizedtestcase.java]

Resources: Using Druid: Druid Static Analyser in action

TestCaseMutation in action

Test Gif on using script:

alt text

derick---testcasemutation's People

Contributors

dalmit avatar

Watchers

 avatar  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.