"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/Rose/BinaryAnalysis/Concolic/BasicTypes.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.

BasicTypes.h  (rose-0.11.49.0):BasicTypes.h  (rose-0.11.50.0)
skipping to change at line 25 skipping to change at line 25
//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////
enum class Update { NO, YES }; enum class Update { NO, YES };
enum class ShowEvents { NO, YES }; enum class ShowEvents { NO, YES };
enum class ShowAssertions { NO, YES }; enum class ShowAssertions { NO, YES };
/** The different kinds of program inputs. */ /** The different kinds of program inputs. */
enum class InputType { enum class InputType {
NONE, /**< Not an input type. */ NONE, /**< Not an input type.
PROGRAM_ARGUMENT_COUNT, /**< Number of program arguments */
. */ PROGRAM_ARGUMENT_COUNT, /**< Number of program a
PROGRAM_ARGUMENT, /**< Variable is (part of) a pro rguments. */
gram argument. */ PROGRAM_ARGUMENT, /**< Variable is (part o
ENVIRONMENT, /**< Variable is (part of) a pro f) a program argument. */
gram environment. */ ENVIRONMENT, /**< Variable is (part o
SYSTEM_CALL_RETVAL /**< Variable is return value of f) a program environment. */
system call. */ SYSTEM_CALL_RETVAL, /**< Variable is return
value of system call. */
SHARED_MEMORY_READ /**< Variable is the res
ult of reading shared memory. */
};
/** Direction of access. */
enum class IoDirection {
READ, /**< Data is being read
from memory. */
WRITE /**< Data is being writt
en to memory. */
};
/** When something happens.
*
* This is usually used to describe when an execution event happens relative to
a particular instruction. */
enum class When {
PRE, /**< Event is replayed b
efore the corresponding instruction. */
POST /**< Event is replayed a
fter the corresponding instruction. */
};
/** Concolic execution phase. */
enum class ConcolicPhase {
REPLAY, /**< Concrete execution
to initialize concolic state. */
EMULATION, /**< Concolic execution
of an instruction. */
POST_EMULATION /**< Actions that occur
after concolic execution of an instruction. */
}; };
//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////
// Exceptions, errors, etc. // Exceptions, errors, etc.
//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////
/** Diagnostic facility for concolic testing. */ /** Diagnostic facility for concolic testing. */
extern Sawyer::Message::Facility mlog; extern Sawyer::Message::Facility mlog;
// Internal: called by Rose::Diagnostics::initialize // Internal: called by Rose::Diagnostics::initialize
skipping to change at line 66 skipping to change at line 88
class ConcolicExecutor; class ConcolicExecutor;
using ConcolicExecutorPtr = Sawyer::SharedPointer<ConcolicExecutor>; using ConcolicExecutorPtr = Sawyer::SharedPointer<ConcolicExecutor>;
class ConcreteExecutor; class ConcreteExecutor;
using ConcreteExecutorPtr = Sawyer::SharedPointer<ConcreteExecutor>; using ConcreteExecutorPtr = Sawyer::SharedPointer<ConcreteExecutor>;
class ConcreteExecutorResult; class ConcreteExecutorResult;
class Database; class Database;
using DatabasePtr = Sawyer::SharedPointer<Database>; using DatabasePtr = Sawyer::SharedPointer<Database>;
namespace Emulation {
class RiscOperators;
using RiscOperatorsPtr = boost::shared_ptr<class RiscOperators>;
}
class ExecutionEvent; class ExecutionEvent;
using ExecutionEventPtr = Sawyer::SharedPointer<ExecutionEvent>; using ExecutionEventPtr = Sawyer::SharedPointer<ExecutionEvent>;
class ExecutionLocation;
class ExecutionManager; class ExecutionManager;
using ExecutionManagerPtr = Sawyer::SharedPointer<ExecutionManager>; using ExecutionManagerPtr = Sawyer::SharedPointer<ExecutionManager>;
class InputVariables; class InputVariables;
class LinuxExecutor; class LinuxExecutor;
using LinuxExecutorPtr = Sawyer::SharedPointer<LinuxExecutor>; using LinuxExecutorPtr = Sawyer::SharedPointer<LinuxExecutor>;
class LinuxI386; class LinuxI386;
using LinuxI386Ptr = Sawyer::SharedPointer<LinuxI386>; using LinuxI386Ptr = Sawyer::SharedPointer<LinuxI386>;
class SharedMemoryCallback;
using SharedMemoryCallbackPtr = Sawyer::SharedPointer<SharedMemoryCallback>;
using SharedMemoryCallbacks = Sawyer::Callbacks<SharedMemoryCallbackPtr>;
class SharedMemoryContext;
class Specimen; class Specimen;
using SpecimenPtr = Sawyer::SharedPointer<Specimen>; using SpecimenPtr = Sawyer::SharedPointer<Specimen>;
class SyscallCallback; class SyscallCallback;
using SyscallCallbackPtr = std::shared_ptr<SyscallCallback>; using SyscallCallbackPtr = std::shared_ptr<SyscallCallback>;
class SyscallContext; using SyscallCallbacks = Sawyer::Callbacks<SyscallCallbackPtr>;
class SystemCall; class SyscallContext;
using SystemCallPtr = Sawyer::SharedPointer<SystemCall>;
class TestCase; class TestCase;
using TestCasePtr = Sawyer::SharedPointer<TestCase>; using TestCasePtr = Sawyer::SharedPointer<TestCase>;
class TestSuite; class TestSuite;
using TestSuitePtr = Sawyer::SharedPointer<TestSuite>; using TestSuitePtr = Sawyer::SharedPointer<TestSuite>;
class LinuxExitStatus; class LinuxExitStatus;
using LinuxExitStatusPtr = Sawyer::SharedPointer<LinuxExitStatus>; using LinuxExitStatusPtr = Sawyer::SharedPointer<LinuxExitStatus>;
//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////
// Simple structs.
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////
/** Location of event.
*
* An event location consists of a primary value and a secondary value, both of
which are unsigned integers. Depending on the
* architecture, the primary value might be the number of instructions executed
(i.e, the length of the current execution
* path). The secondary value is usually just a sequence number for ordering ev
ents that all occur at the same primary
* value. */
struct ExecutionLocation {
uint64_t primary; /**< Primary location value.
*/
uint64_t secondary; /**< Secondary location valu
e. */
ExecutionLocation()
: primary(0), secondary(0) {}
ExecutionLocation(uint64_t primary, uint64_t secondary)
: primary(primary), secondary(secondary) {}
};
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////
// Database // Database
//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////
/** ID class for database objects. */ /** ID class for database objects. */
template <class Tag> template <class Tag>
class ObjectId: public Sawyer::Optional<size_t> { class ObjectId: public Sawyer::Optional<size_t> {
public: public:
using Value = size_t; /**< Type of ID. */ using Value = size_t; /**< Type of ID. */
using Super = Sawyer::Optional<Value>; /**< Supertype of this c lass. */ using Super = Sawyer::Optional<Value>; /**< Supertype of this c lass. */
using Object = Tag; /**< Type of object to w hich this ID refers. */ using Object = Tag; /**< Type of object to w hich this ID refers. */
 End of changes. 7 change blocks. 
39 lines changed or deleted 57 lines changed or added

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