Skip to content

gagang123/Automation-Bug-Detection-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

**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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published