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>
11namespace BinaryAnalysis {
16class 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.
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.