Git Product home page Git Product logo

automation-bug-detection-tool's Introduction

**Introduction**

It is based on the idea of inferring likely invariants from call-graphs for bug detection. Given a bit code, 
We used LLVM to generate call graphs into plain text format,and then analyze the textual call graphs to generate function pairs and detect bugs.


When performing path simulation analysis via a tool like LLVM, sometimes a defect will be reported on a path that is infeasible at runtime. 
This reported defect should be eliminated from the static analysis results.

1.Bugs from LLVM output are compared whether they lie on infeasible paths or not.
2. We have 3 java files: Demo.java, FindAllPaths.java, JUnit.java.
3.We manually added an infeasible path in Demo.java file. 
4.We generated CFG using Eclipse plugin and got 2 files : Demo.main.bb.graph and Demo.main.bb.xml
5.The possible paths  are B1B2B3B4B5,B1B2B3B6B5, B1B7B3B4B5,B1B7B3B6B5. Last two paths B1B7B3B4B5 & B1B7B3B6B5 are infeasible.
6.Run JUnit.java, for last two infeasible paths, assert statements will give error.

Suppose, pair (method1(), method2()) from LLVM callgraph output is detected on path B1B2B3B4B5 or B1B7B3B6B5, 
which are infeasible paths.Then we do not call it as a bug

automation-bug-detection-tool's People

Contributors

gagang123 avatar

Watchers

 avatar  avatar

Forkers

alaminjwel

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.