Skip to content

Commit

Permalink
add assignment 1-4
Browse files Browse the repository at this point in the history
  • Loading branch information
guanqin-123 committed Feb 14, 2021
1 parent ae934c2 commit 0f02c20
Show file tree
Hide file tree
Showing 9 changed files with 126 additions and 2 deletions.
Binary file modified .DS_Store
Binary file not shown.
File renamed without changes.
4 changes: 2 additions & 2 deletions Assignment-1/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
add_executable(graph Graph.cpp)
set_target_properties( graph PROPERTIES
add_executable(assign-1 Assignment-1.cpp)
set_target_properties( assign-1 PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
30 changes: 30 additions & 0 deletions Assignment-2/Assignment-2.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#include "SVF-FE/LLVMUtil.h"
#include "SVF-FE/PAGBuilder.h"

using namespace SVF;
using namespace llvm;
using namespace std;

/*
// SVF-Teaching Assignment 2 : Source Sink ICFG DFS Traversal
*/
//start your code here
int main(int argc, char ** argv) {

int arg_num = 0;
char **arg_value = new char*[argc];
std::vector<std::string> moduleNameVec;
SVFUtil::processArguments(argc, argv, arg_num, arg_value, moduleNameVec);
cl::ParseCommandLineOptions(arg_num, arg_value,
"Whole Program Points-to Analysis\n");

SVFModule* svfModule = LLVMModuleSet::getLLVMModuleSet()->buildSVFModule(moduleNameVec);

/// Build Program Assignment Graph (PAG)
PAGBuilder builder;
PAG* pag = builder.build (svfModule);
ICFG *icfg = pag->getICFG();


return 0;
}
10 changes: 10 additions & 0 deletions Assignment-2/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
llvm_map_components_to_libnames(llvm_libs bitwriter core ipo irreader instcombine instrumentation target linker analysis scalaropts support )
file (GLOB SOURCES
*.cpp
)
add_executable(assign-2 ${SOURCES})

target_link_libraries(assign-2 ${SVF_LIB} ${LLVMCudd} ${llvm_libs})

set_target_properties(assign-2 PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
28 changes: 28 additions & 0 deletions Assignment-3/Assignment-3.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
// Assignment 3 : Andersen's pointer analysis
//
//
*/

#include "SVF-FE/LLVMUtil.h"
#include "SVF-FE/PAGBuilder.h"
#include "WPA/Andersen.h"

using namespace SVF;
using namespace llvm;
using namespace std;

int main(int argc, char ** argv) {

int arg_num = 0;
char **arg_value = new char*[argc];
std::vector<std::string> moduleNameVec;
SVFUtil::processArguments(argc, argv, arg_num, arg_value, moduleNameVec);
cl::ParseCommandLineOptions(arg_num, arg_value,
"Whole Program Points-to Analysis\n");

SVFModule* svfModule = LLVMModuleSet::getLLVMModuleSet()->buildSVFModule(moduleNameVec);
/// Build Program Assignment Graph (PAG)
PAGBuilder builder;
PAG* pag = builder.build (svfModule);
}
10 changes: 10 additions & 0 deletions Assignment-3/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
llvm_map_components_to_libnames(llvm_libs bitwriter core ipo irreader instcombine instrumentation target linker analysis scalaropts support )
file (GLOB SOURCES
*.cpp
)
add_executable(assign-3 ${SOURCES})

target_link_libraries(assign-3 ${SVF_LIB} ${LLVMCudd} ${llvm_libs})

set_target_properties( assign-3 PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
36 changes: 36 additions & 0 deletions Assignment-4/Assignment-4.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

/*
// SVF-Teaching Assignment 4: Taint Analysis
//
//
*/

#include "SVF-FE/LLVMUtil.h"
#include "SVF-FE/PAGBuilder.h"
#include "Graphs/PTACallGraph.h"
#include "Assignment-4.h"

using namespace SVF;
using namespace llvm;
using namespace std;


int main(int argc, char ** argv) {

int arg_num = 0;
char **arg_value = new char*[argc];
std::vector<std::string> moduleNameVec;
SVFUtil::processArguments(argc, argv, arg_num, arg_value, moduleNameVec);
cl::ParseCommandLineOptions(arg_num, arg_value,
"Whole Program Points-to Analysis\n");

SVFModule* svfModule = LLVMModuleSet::getLLVMModuleSet()->buildSVFModule(moduleNameVec);

/// Build Program Assignment Graph (PAG)
PAGBuilder builder;
PAG* pag = builder.build (svfModule);
/// ICFG
ICFG *icfg = pag->getICFG();


}
10 changes: 10 additions & 0 deletions Assignment-4/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
llvm_map_components_to_libnames(llvm_libs bitwriter core ipo irreader instcombine instrumentation target linker analysis scalaropts support )
file (GLOB SOURCES
*.cpp
)
add_executable(assign-4 ${SOURCES})

target_link_libraries(assign-4 ${SVF_LIB} ${LLVMCudd} ${llvm_libs})

set_target_properties(assign-4 PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )

0 comments on commit 0f02c20

Please sign in to comment.