cloud9_root/src/cloud9/lib/Module/ProgramDependenceGraph.cpp
// Write a query asking: "What is the forward slice of the passed ID"
// This is the reverse of writeUniversalQuery() (it does a backward slice)
Write a query asking: "What is the forward slice of the passed ID"
This is the reverse of writeUniversalQuery() (it does a backward slice)
Write a query asking : " What is the forward slice of the passed ID " This is the reverse of writeUniversalQuery () ( it does a backward slice )
void PDG::writeFwdQuery(Instruction *i, std::string varName, raw_fd_ostream *os) {
	(*os) << "(declare-var " + varName + " s)\n";
	unsigned instId = IDMap.saveAndGetIntID(i);
	std::string idStr = Utils::to_const_bitvec(instId);
	(*os) << "(query (prog-dep " << varName << " " << idStr << ") :print-answer true)\n";
	return;
}
void PDG :: writeFwdQuery ( Instruction * i , std :: string varName , raw_fd_ostream * os ) { ( * os ) << " " + varName + " \n " ; unsigned instId = IDMap . saveAndGetIntID ( i ) ; std :: string idStr = Utils :: to_const_bitvec ( instId ) ; ( * os ) << " " << varName << " " << idStr << " \n " ; return ; }
Write a query asking: "What is the forward slice of the passed ID"
This is the reverse of writeUniversalQuery() (it does a backward slice)
Write a query asking : " What is the forward slice of the passed ID " This is the reverse of writeUniversalQuery () ( it does a backward slice )
// Write a definition for the variable // s is the sort of all the IDs used in Z3 // Write the query