"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/Rose/BinaryAnalysis/Concolic/InputVariables.h" between
rose-0.11.49.0.tar.gz and rose-0.11.50.0.tar.gz

About: ROSE is a compiler infrastructure to build source-to-source program transformation and analysis tools for large-scale C, C++, UPC, Fortran, OpenMP, Java, Python and PHP applications.

InputVariables.h  (rose-0.11.49.0):InputVariables.h  (rose-0.11.50.0)
skipping to change at line 27 skipping to change at line 27
* the corresponding memory-write event for the new test case will be set to 2 instead of 1 when it's copied from the parent * the corresponding memory-write event for the new test case will be set to 2 instead of 1 when it's copied from the parent
* test case. Thus, when the new test case runs and the event is reached, the e vent's action will cause the concrete * test case. Thus, when the new test case runs and the event is reached, the e vent's action will cause the concrete
* execution's argc to be overwritten with 2. */ * execution's argc to be overwritten with 2. */
class InputVariables { class InputVariables {
private: private:
typedef Sawyer::Container::Map<uint64_t, ExecutionEventPtr> Variables; // ma p symbolic variable ID to program input typedef Sawyer::Container::Map<uint64_t, ExecutionEventPtr> Variables; // ma p symbolic variable ID to program input
Variables variables_; Variables variables_;
public: public:
/** Insert a record describing the number of program arguments. */ /** Insert a record describing the number of program arguments. */
void insertProgramArgumentCount(const ExecutionEventPtr&, const SymbolicExpr ::Ptr&); void insertProgramArgumentCount(const ExecutionEventPtr&, const SymbolicExpr ::Ptr &variable);
/** Insert a record for a program argument. /** Insert a record for a program argument.
* *
* The @p i and @p j are the indexes for the <code>char *argv[]</code> argu ment of a C or C++ program's "main" function. */ * The @p i and @p j are the indexes for the <code>char *argv[]</code> argu ment of a C or C++ program's "main" function. */
void insertProgramArgument(const ExecutionEventPtr&, size_t i, size_t j, con st SymbolicExpr::Ptr&); void insertProgramArgument(const ExecutionEventPtr&, size_t i, size_t j, con st SymbolicExpr::Ptr &variable);
/** Insert a record for an environment variable. /** Insert a record for an environment variable.
* *
* The @p i and @p j are the indexes for the <code>char *envp[]</code> argu ment of a C or C++ program's "main" function. */ * The @p i and @p j are the indexes for the <code>char *envp[]</code> argu ment of a C or C++ program's "main" function. */
void insertEnvironmentVariable(const ExecutionEventPtr&, size_t i, size_t j, const SymbolicExpr::Ptr&); void insertEnvironmentVariable(const ExecutionEventPtr&, size_t i, size_t j, const SymbolicExpr::Ptr &variable);
/** Insert a record for a system call return. */ /** Insert a record for a system call return. */
void insertSystemCallReturn(const ExecutionEventPtr&, const SymbolicExpr::Pt void insertSystemCallReturn(const ExecutionEventPtr&, const SymbolicExpr::Pt
r&); r &variable);
/** Insert a record for a shared memory read. */
void insertSharedMemoryRead(const ExecutionEventPtr&, const SymbolicExpr::Pt
r &variable);
/** Re-establish a connection between a variable and an event. */ /** Re-establish a connection between a variable and an event. */
void insertEvent(const ExecutionEventPtr&); void insertEvent(const ExecutionEventPtr&);
/** Find an input event when given a symbolic variable name. */ /** Find an input event when given a symbolic variable name. */
ExecutionEventPtr get(const std::string &symbolicVarName) const; ExecutionEventPtr get(const std::string &symbolicVarName) const;
/** Print all defined variables. */ /** Print all defined variables. */
void print(std::ostream&, const std::string &prefix = "") const; void print(std::ostream&, const std::string &prefix = "") const;
 End of changes. 4 change blocks. 
5 lines changed or deleted 9 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)