GithubHelp home page GithubHelp logo

marvinmw / trgeneration Goto Github PK

View Code? Open in Web Editor NEW

This project forked from evplatt/trgeneration

0.0 1.0 0.0 448 KB

Control flow graph and test requirement generation for a Java code.

Java 96.23% PHP 2.88% JavaScript 0.89%

trgeneration's Introduction

Team Members: Seung Hun (Stan) Lee, Evan Platt

Project Title: Control Flow Graph and Structural Test Requirement Generator

Description of the Proposed Work

Our proposal is to create a program, written in Java, that takes as inputs (1) the source code of a function and (2) a desired coverage criteria, and outputs (1) a control flow graph and (1) a set of test requirements satisfying the specified coverage criteria.

The first module of the program, the graph generator, is responsible for parsing the input function’s source code and generating a control flow graph made up of nodes and edges. The graph generator will support syntax-correct input functions written in Java and will be able to parse a limited set of control flow statements including if-then and if-then-else conditionals and for, while, and do-while loops. In parsing the input function’s source code, the graph generator will populate a linked list of node objects. Each node object will contain the node’s number and a list of next nodes. The test requirement generator will use this linked list as its input. Lastly, the graph generator will output a pictorial representation of the function’s graph.

The second module of the program, the test requirement generator, takes charge of reading the linked list of node objects generated from the graph generator and listing test requirements for a desired coverage criteria. After a user choose one of the coverage criteria including node coverage, edge coverage, edge-pair coverage, and prime path coverage, the test requirement generator will print out test requirements according to the user-chosen one. This generator might be expanded to include test paths if time for implementation allows.

trgeneration's People

Contributors

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