Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add code for off-line reconstruction of candidate trees
The new module offline_analysis allows for the reconstruction of a candidate tree from the events of a log file for post-mortem analysis or conversion to a different log format required by an analysis tool. The reconstruction of the tree itself and refinement of candidate nodes from actions on the nodes can be done incrementally and in an interleaved fashion as log messages are processed. The general outline of this process is: let mut tree = CandidateTree::new(); // Iterate over all messages from the log file for ... { match message { Message::Node { ... } => { tree.extend(...); } Message::Trace { ... } => { // Iterate over all events of the trace message for event ... { match event { Event::Kill(...) => { // Declare candidate as a deadend tree.get_node(curr_node_id).declare_deadend(...); ... } Event::Implementation(...) => { // Declare candidate as implementation (fully specified candidate) tree.get_node(curr_node_id).declare_implementation(...); ... } ... } } } Message::Evaluation { ... } => { ... // Update score t.get_node(...).set_score(...); } } }
- Loading branch information