1 #ifndef ROSE_BinaryAnalysis_Concolic_M68kSystem_TracingResult_H
2 #define ROSE_BinaryAnalysis_Concolic_M68kSystem_TracingResult_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_CONCOLIC_TESTING
5 #include <Rose/BinaryAnalysis/Concolic/BasicTypes.h>
7 #include <Rose/BinaryAnalysis/Concolic/ConcreteResult.h>
8 #include <Sawyer/Trace.h>
11 namespace BinaryAnalysis {
13 namespace M68kSystem {
16 class TracingResult:
public Concolic::ConcreteResult {
21 using Super = Concolic::ConcreteResult;
25 using Ptr = TracingResultPtr;
40 friend class boost::serialization::access;
45 void save(S &s,
const unsigned )
const {
46 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Super);
47 std::vector<rose_addr_t> vas = trace_.toVector();
48 s & BOOST_SERIALIZATION_NVP(vas);
52 void load(S &s,
const unsigned ) {
53 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Super);
54 std::vector<rose_addr_t> vas;
55 s & BOOST_SERIALIZATION_NVP(vas);
57 for (rose_addr_t va: vas)
61 BOOST_SERIALIZATION_SPLIT_MEMBER();
68 explicit TracingResult(
double rank);
73 static Ptr instance(
double rank);
84 const Trace& trace()
const;
Records and replays traces.
Main namespace for the ROSE library.
ROSE_DLL_API void load(SgProject *project, std::list< std::string > const &filepaths)
Load ASTs that have been saved to files.
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.