Warning:
           
           The number of runtime covered functions are larger than the
                number of reachable functions. This means that Fuzz Introspector found
                there are more functions covered at runtime than what is considered
                reachable based on the static analysis. This is a limitation in the
                analysis as anything covered at runtime is by definition reachable by the
                fuzzers.
           
           This is likely due to a limitation in the static analysis. In this case, the
                count of functions covered at runtime is the true value, which means this
                is what should be considered "achieved" by the fuzzer.
          
Use the project functions table below to query all functions that were not covered at runtime.
The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.
For further technical details on the meaning of columns in the below table, please see the Glossary .
| Func name | Functions filename | Args | Function call depth | Reached by Fuzzers | Fuzzers runtime hit | Func lines hit % | I Count | BB Count | Cyclomatic complexity | Functions reached | Reached by functions | Accumulated cyclomatic complexity | Undiscovered complexity | 
|---|
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
 
          The distribution of callsites in terms of coloring is
| Color | Runtime hitcount | Callsite count | Percentage | 
|---|---|---|---|
| red | 0 | 44 | 21.5% | 
| gold | [1:9] | 0 | 0.0% | 
| yellow | [10:29] | 0 | 0.0% | 
| greenyellow | [30:49] | 0 | 0.0% | 
| lawngreen | 50+ | 160 | 78.4% | 
| All colors | 204 | 100 | 
The followings are the branches where fuzzer fails to bypass.
| Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch | 
|---|---|---|---|---|---|---|---|
| 6 | 6 | 1 : 
                   ['ser4cpp::RSeq
                    | 6 | 6 | ser4cpp::RSeq | call site: 00000 | /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/WSeq.h:124 | 
| 3 | 8 | 2 : ['opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*)', 'opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const'] | 3 | 16 | opendnp3::TransportRx::ProcessReceive(opendnp3::Messageconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/transport/TransportRx.cpp:112 | 
| 3 | 8 | 2 : ['opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*)', 'opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const'] | 3 | 8 | opendnp3::LinkLayerParser::ReadHeader() | call site: 00000 | /src/opendnp3/cpp/lib/src/link/LinkLayerParser.cpp:160 | 
| 0 | 8 | 1 : ['opendnp3::LinkLayerParser::FailFrame()'] | 0 | 8 | opendnp3::LinkLayerParser::ParseBody() | call site: 00000 | /src/opendnp3/cpp/lib/src/link/LinkLayerParser.cpp:130 | 
| 0 | 0 | None | 3 | 16 | opendnp3::TransportRx::ProcessReceive(opendnp3::Messageconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/transport/TransportRx.cpp:59 | 
| 0 | 0 | None | 3 | 16 | opendnp3::TransportRx::ProcessReceive(opendnp3::Messageconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/transport/TransportRx.cpp:99 | 
| 0 | 0 | 2 : 
                   ['std::__1::basic_ostream
                    | 3 | 8 | opendnp3::LoggingHandler::PrintVQTStringify | call site: 00000 | /src/opendnp3/cpp/lib/src/decoder/LoggingHandler.h:252 | 
| 0 | 0 | 2 : 
                   ['std::__1::basic_ostream
                    | 3 | 8 | opendnp3::LoggingHandler::PrintVQTStringify | call site: 00000 | /src/opendnp3/cpp/lib/src/decoder/LoggingHandler.h:252 | 
| 0 | 0 | None | 3 | 8 | opendnp3::LinkLayerParser::ValidateBody() | call site: 00000 | /src/opendnp3/cpp/lib/src/link/LinkLayerParser.cpp:175 | 
| 0 | 0 | 1 : 
                   ['std::__1::basic_string
                    | 0 | 0 | opendnp3::LoggingHandler::ToUTCString(opendnp3::DNPTimeconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/decoder/LoggingHandler.cpp:56 | 
| Function name | source code lines | source lines hit | percentage hit | 
|---|
| filename | functions hit | 
|---|---|
| /src/opendnp3/cpp/tests/fuzz/fuzzdecoder.cpp | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/util/Buffer.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/ConsoleLogger.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/LogLevels.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/Logger.h | 2 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/decoder/IDecoderCallbacks.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/util/Uncopyable.h | 2 | 
| /src/opendnp3/cpp/lib/src/decoder/Decoder.cpp | 3 | 
| /src/opendnp3/cpp/lib/src/decoder/DecoderImpl.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/link/IFrameSink.h | 2 | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/Logger.h | 3 | 
| /src/opendnp3/cpp/lib/src/link/LinkLayerParser.cpp | 15 | 
| /src/opendnp3/cpp/lib/include/opendnp3/link/LinkStatistics.h | 1 | 
| /src/opendnp3/cpp/lib/src/link/LinkHeader.cpp | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/RSeq.h | 7 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/HasLength.h | 3 | 
| /src/opendnp3/cpp/lib/src/link/ShiftableBuffer.cpp | 5 | 
| /src/opendnp3/cpp/lib/src/transport/TransportRx.cpp | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/StackStatistics.h | 1 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Buffer.h | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/Uncopyable.h | 2 | 
| /src/opendnp3/cpp/lib/include/opendnp3/link/Addresses.h | 2 | 
| /src/opendnp3/cpp/lib/src/SequenceNum.h | 1 | 
| /src/opendnp3/cpp/lib/src/link/LinkLayerParser.h | 1 | 
| /src/opendnp3/cpp/lib/src/decoder/Indent.h | 2 | 
| /src/opendnp3/cpp/lib/src/link/ShiftableBuffer.h | 4 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/WSeq.h | 5 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/Comparisons.h | 3 | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/LogLevels.h | 1 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/SerializationTemplates.h | 2 | 
| /src/opendnp3/cpp/lib/src/link/CRC.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/link/LinkHeader.h | 7 | 
| /src/opendnp3/cpp/lib/src/gen/LinkFunction.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/link/LinkFrame.cpp | 4 | 
| /src/opendnp3/cpp/lib/src/logging/HexLogging.h | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/HexConversions.h | 1 | 
| /src/opendnp3/cpp/lib/src/link/LinkHeaderFields.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/decoder/DecoderImpl.h | 1 | 
| /src/opendnp3/cpp/lib/src/transport/TransportRx.h | 1 | 
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
 
                The distribution of callsites in terms of coloring is
| Color | Runtime hitcount | Callsite count | Percentage | 
|---|---|---|---|
| red | 0 | 129 | 19.4% | 
| gold | [1:9] | 21 | 3.17% | 
| yellow | [10:29] | 20 | 3.02% | 
| greenyellow | [30:49] | 10 | 1.51% | 
| lawngreen | 50+ | 482 | 72.8% | 
| All colors | 662 | 100 | 
The followings are the branches where fuzzer fails to bypass.
| Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch | 
|---|---|---|---|---|---|---|---|
| 33 | 33 | 1 : 
                         ['opendnp3::CountIndexParser::ParseCountOfIndices(ser4cpp::RSeq
                          | 33 | 33 | opendnp3::CountIndexParser::ParseHeader(ser4cpp::RSeq | call site: 00000 | /src/opendnp3/cpp/lib/src/app/parsing/CountIndexParser.cpp:59 | 
| 14 | 32 | 12 : 
                         ['std::__1::function
                          | 14 | 32 | opendnp3::MasterSchedulerBackend::CheckForTaskRun() | call site: 00000 | /src/opendnp3/cpp/lib/src/master/MasterSchedulerBackend.cpp:159 | 
| 13 | 13 | 12 : 
                         ['_ZNSt3__111__wrap_iterIPKNS_10shared_ptrIN7exe4cpp12MockExecutor9MockTimerEEEEC2IPS5_EERKNS0_IT_EEPNS_9enable_ifIXsr14is_convertibleISB_S7_EE5valueEvE4typeE', 'std::__1::function
                          | 13 | 13 | exe4cpp::MockExecutor::find_expired_timer() | call site: 00000 | /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/MockExecutor.h:246 | 
| 6 | 8 | 2 : ['opendnp3::CountHeader::CountHeader(opendnp3::HeaderRecord const&, unsigned short)', 'opendnp3::IAPDUHandler::OnHeader(opendnp3::CountHeader const&)'] | 6 | 8 | opendnp3::CountParser::ParseHeader(ser4cpp::RSeq | call site: 00000 | /src/opendnp3/cpp/lib/src/app/parsing/CountParser.cpp:68 | 
| 6 | 8 | 2 : ['opendnp3::RangeHeader::RangeHeader(opendnp3::HeaderRecord const&, opendnp3::Range const&)', 'opendnp3::IAPDUHandler::OnHeader(opendnp3::RangeHeader const&)'] | 6 | 8 | opendnp3::RangeParser::ParseHeader(ser4cpp::RSeq | call site: 00000 | /src/opendnp3/cpp/lib/src/app/parsing/RangeParser.cpp:59 | 
| 6 | 6 | 1 : 
                         ['ser4cpp::RSeq
                          | 6 | 6 | ser4cpp::RSeq | call site: 00000 | /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/WSeq.h:124 | 
| 4 | 22 | 2 : ['opendnp3::HeaderWriter::WriteHeader(opendnp3::GroupVariationID, opendnp3::QualifierCode)', 'opendnp3::Group60Var1::ID()'] | 4 | 22 | opendnp3::build::WriteClassHeaders(opendnp3::HeaderWriter&,opendnp3::ClassFieldconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/app/APDUBuilders.cpp:77 | 
| 0 | 1595 | 8 : 
                         ['opendnp3::APDUWrapper::ToRSeq() const', 'opendnp3::APDUWrapper::SetFunction(opendnp3::FunctionCode)', 'ser4cpp::Buffer::as_wslice()', 'std::__1::deque
                          | 0 | 1595 | opendnp3::MContext::CheckConfirmTransmit() | call site: 00000 | /src/opendnp3/cpp/lib/src/master/MasterContext.cpp:281 | 
| 0 | 0 | None | 13 | 97 | opendnp3::MContext::ProcessIIN(opendnp3::IINFieldconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/master/MasterContext.cpp:234 | 
| 0 | 0 | None | 3 | 1944 | opendnp3::MContext::OnReceive(opendnp3::Messageconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/master/MasterContext.cpp:118 | 
| 0 | 0 | None | 3 | 8 | opendnp3::MContext::OnReceive(opendnp3::Messageconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/master/MasterContext.cpp:112 | 
| 0 | 0 | None | 0 | 1936 | opendnp3::MContext::OnReceive(opendnp3::Messageconst&) | call site: 00000 | /src/opendnp3/cpp/lib/src/master/MasterContext.cpp:124 | 
| Function name | source code lines | source lines hit | percentage hit | 
|---|
| filename | functions hit | 
|---|---|
| /src/opendnp3/cpp/tests/fuzz/fuzzmaster.cpp | 5 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/RSeq.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/HasLength.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/master/MasterParams.h | 1 | 
| /src/opendnp3/cpp/lib/src/util/TimeDuration.cpp | 7 | 
| /src/opendnp3/cpp/lib/src/app/ClassField.cpp | 9 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/link/Addresses.h | 3 | 
| /src/opendnp3/cpp/tests/fuzz/./NullLogHandler.h | 3 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/LogLevels.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/Logger.h | 2 | 
| /src/opendnp3/cpp/lib/src/master/MasterContext.cpp | 20 | 
| /src/opendnp3/cpp/lib/src/LayerInterfaces.h | 3 | 
| /src/opendnp3/cpp/lib/src/master/IMasterTaskRunner.h | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/util/Uncopyable.h | 2 | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/Logger.h | 2 | 
| /src/opendnp3/cpp/lib/src/SequenceNum.h | 4 | 
| /src/opendnp3/_deps/exe4cpp-src/src/exe4cpp/Timer.h | 3 | 
| /src/opendnp3/cpp/lib/src/master/MasterTasks.cpp | 9 | 
| /src/opendnp3/cpp/lib/src/master/MasterTasks.h | 3 | 
| /src/opendnp3/cpp/lib/src/master/TaskBehavior.cpp | 7 | 
| /src/opendnp3/cpp/lib/src/util/Timestamp.cpp | 4 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Buffer.h | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/Uncopyable.h | 2 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/Timer.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/LayerInterfaces.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/MockExecutor.h | 6 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/app/Message.h | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/LogLevels.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUHeaderParser.cpp | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/HasLength.h | 2 | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUHeaderParser.h | 6 | 
| /src/opendnp3/cpp/lib/src/app/APDUHeader.h | 4 | 
| /src/opendnp3/cpp/lib/src/app/AppControlField.h | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/IINField.h | 5 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/RSeq.h | 5 | 
| /src/opendnp3/cpp/lib/src/app/AppControlField.cpp | 3 | 
| /src/opendnp3/cpp/lib/src/gen/FunctionCode.cpp | 3 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/Comparisons.h | 3 | 
| /src/opendnp3/cpp/lib/src/app/APDULogging.cpp | 3 | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/ResponseInfo.h | 1 | 
| /src/opendnp3/cpp/lib/src/master/MeasurementHandler.cpp | 3 | 
| /src/opendnp3/cpp/lib/src/app/parsing/IAPDUHandler.cpp | 11 | 
| /src/opendnp3/cpp/lib/src/app/parsing/IWhiteList.h | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/DNPTime.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/ParserSettings.h | 5 | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUParser.cpp | 6 | 
| /src/opendnp3/cpp/lib/src/app/parsing/ObjectHeaderParser.cpp | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/SerializationTemplates.h | 2 | 
| /src/opendnp3/cpp/lib/src/app/GroupVariationRecord.cpp | 7 | 
| /src/opendnp3/cpp/lib/src/gen/GroupVariation.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/app/GroupVariationRecord.h | 5 | 
| /src/opendnp3/cpp/lib/src/gen/QualifierCode.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/app/parsing/IAPDUHandler.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/NumParser.cpp | 8 | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountParser.cpp | 4 | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountParser.h | 7 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group50.h | 2 | 
| /src/opendnp3/cpp/lib/src/app/parsing/BufferedCollection.h | 9 | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/parsing/ICollection.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group51.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group52.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/RangeParser.cpp | 5 | 
| /src/opendnp3/cpp/lib/src/app/Range.h | 3 | 
| /src/opendnp3/cpp/lib/src/app/parsing/RangeParser.h | 30 | 
| /src/opendnp3/cpp/lib/src/app/parsing/BitReader.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group1.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group3.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group10.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group20.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group21.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group30.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group40.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountIndexParser.cpp | 6 | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountIndexParser.h | 49 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group2.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group4.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group11.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group12.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group13.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group22.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group23.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group32.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group41.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group42.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group43.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/APDUHeader.cpp | 3 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/WSeq.h | 4 | 
| /src/opendnp3/cpp/lib/src/app/APDUWrapper.cpp | 5 | 
| /src/opendnp3/cpp/lib/src/logging/HexLogging.h | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/HexConversions.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/IINField.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/master/IMasterTask.cpp | 4 | 
| /src/opendnp3/cpp/lib/src/master/TaskContext.cpp | 2 | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/TaskInfo.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/APDURequest.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/master/MasterContext.h | 1 | 
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
 
                      The distribution of callsites in terms of coloring is
| Color | Runtime hitcount | Callsite count | Percentage | 
|---|---|---|---|
| red | 0 | 258 | 28.5% | 
| gold | [1:9] | 19 | 2.09% | 
| yellow | [10:29] | 10 | 1.10% | 
| greenyellow | [30:49] | 11 | 1.21% | 
| lawngreen | 50+ | 607 | 67.0% | 
| All colors | 905 | 100 | 
The followings are the branches where fuzzer fails to bypass.
| Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch | 
|---|---|---|---|---|---|---|---|
| 1707 | 1931 | 14 : 
                               ['opendnp3::APDUWrapper::GetWriter()', 'opendnp3::OContext::BeginUnsolTx(opendnp3::APDUResponse&)', 'opendnp3::NumRetries::Reset()', 'opendnp3::EventBuffer::Unselect()', 'opendnp3::EventBuffer::Load(opendnp3::HeaderWriter&)', 'opendnp3::EventBuffer::UnwrittenClassField() const', 'opendnp3::EventBuffer::SelectAllByClass(opendnp3::ClassField const&)', 'opendnp3::OContext::GetResponseIIN()', 'opendnp3::build::NullUnsolicited(opendnp3::APDUResponse&, unsigned char, opendnp3::IINField const&)', 'opendnp3::OContext::RestartUnsolConfirmTimer()', 'opendnp3::StateUnsolicitedConfirmWait::Inst()', 'opendnp3::SequenceNum
                                | 1707 | 1931 | opendnp3::OContext::CheckForUnsolicited() | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/OutstationContext.cpp:319 | 
| 114 | 114 | 3 : 
                               ['bool opendnp3::write_some_octet_strings
                                | 114 | 114 | opendnp3::write_octet_strings(opendnp3::StaticDataMap | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:294 | 
| 113 | 113 | 3 : 
                               ['opendnp3::RangeWriteIterator
                                | 113 | 170 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['opendnp3::RangeWriteIterator
                                | 113 | 164 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['opendnp3::RangeWriteIterator
                                | 113 | 162 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['opendnp3::RangeWriteIterator
                                | 113 | 162 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['bool opendnp3::LoadWithRangeIterator
                                | 113 | 160 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['bool opendnp3::LoadWithRangeIterator
                                | 113 | 160 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['bool opendnp3::LoadWithRangeIterator
                                | 113 | 160 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['bool opendnp3::LoadWithRangeIterator
                                | 113 | 160 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['opendnp3::RangeWriteIterator
                                | 113 | 160 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| 113 | 113 | 3 : 
                               ['opendnp3::RangeWriteIterator
                                | 113 | 160 | boolopendnp3::WriteWithSerializer | call site: 00000 | /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp:119 | 
| Function name | source code lines | source lines hit | percentage hit | 
|---|
| filename | functions hit | 
|---|---|
| /src/opendnp3/cpp/tests/fuzz/fuzzoutstation.cpp | 5 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/RSeq.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/HasLength.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/OutstationConfig.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/OutstationParams.h | 1 | 
| /src/opendnp3/cpp/lib/src/util/TimeDuration.cpp | 4 | 
| /src/opendnp3/cpp/lib/src/outstation/NumRetries.cpp | 3 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/StaticTypeBitfield.h | 2 | 
| /src/opendnp3/cpp/lib/src/app/ClassField.cpp | 8 | 
| /src/opendnp3/cpp/lib/src/outstation/EventBufferConfig.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/DatabaseConfig.cpp | 10 | 
| /src/opendnp3/cpp/lib/include/opendnp3/outstation/MeasurementConfig.h | 3 | 
| /src/opendnp3/cpp/tests/fuzz/./NullLogHandler.h | 3 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/link/Addresses.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/LogLevels.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/Logger.h | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationContext.cpp | 27 | 
| /src/opendnp3/cpp/lib/src/LayerInterfaces.h | 2 | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/Logger.h | 3 | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventBuffer.cpp | 6 | 
| /src/opendnp3/cpp/lib/src/outstation/IEventReceiver.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/IEventSelector.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/IResponseLoader.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventStorage.cpp | 8 | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventLists.cpp | 2 | 
| /src/opendnp3/cpp/lib/include/opendnp3/util/Uncopyable.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/event/List.h | 23 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/HasLength.h | 5 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Array.h | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventRecord.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/Array.h | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/event/ClazzCount.h | 6 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/event/List.h | 2 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/util/Uncopyable.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/IEventReceiver.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/Database.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/IStaticSelector.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/IClassAssigner.h | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/outstation/IUpdateHandler.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/StaticDataMap.h | 9 | 
| /src/opendnp3/cpp/lib/src/app/Range.h | 3 | 
| /src/opendnp3/cpp/lib/src/outstation/StaticDataCell.h | 2 | 
| /src/opendnp3/cpp/lib/src/app/MeasurementTypes.cpp | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/BaseMeasurementTypes.h | 2 | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/DNPTime.h | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/EventCells.h | 2 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/StaticDataMap.h | 2 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/IUpdateHandler.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/ResponseContext.cpp | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/IINField.h | 9 | 
| /src/opendnp3/cpp/lib/src/app/IINField.cpp | 3 | 
| /src/opendnp3/_deps/exe4cpp-src/src/exe4cpp/Timer.h | 3 | 
| /src/opendnp3/cpp/lib/src/outstation/RequestHistory.cpp | 3 | 
| /src/opendnp3/cpp/lib/src/app/APDUHeader.h | 4 | 
| /src/opendnp3/cpp/lib/src/app/AppControlField.h | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/DeferredRequest.cpp | 3 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/RSeq.h | 6 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Buffer.h | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/Uncopyable.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/util/Uncopyable.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/ControlState.h | 1 | 
| /src/opendnp3/cpp/lib/src/SequenceNum.h | 6 | 
| /src/opendnp3/cpp/lib/src/util/Timestamp.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/TimeSyncState.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationChannelStates.h | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationSeqNum.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/TxBuffer.h | 3 | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationStates.h | 3 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Settable.h | 6 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/OutstationChannelStates.h | 2 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/app/TxBuffer.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/Buffer.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/DeferredRequest.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/Timer.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/Database.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/event/EventBuffer.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/event/EventStorage.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/event/EventLists.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/LayerInterfaces.h | 2 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/DatabaseConfig.h | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/LogLevels.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/DeferredRequest.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/ParsedRequest.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/FunctionCode.cpp | 3 | 
| /src/opendnp3/cpp/lib/src/outstation/RequestHistory.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/AppControlField.cpp | 3 | 
| /src/opendnp3/cpp/lib/src/link/CRC.cpp | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/WSeq.h | 6 | 
| /src/opendnp3/cpp/lib/src/app/APDUResponse.cpp | 3 | 
| /src/opendnp3/cpp/lib/src/app/APDUWrapper.cpp | 7 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/Comparisons.h | 3 | 
| /src/opendnp3/cpp/lib/src/outstation/ApplicationIIN.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/app/APDUBuilders.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/app/APDULogging.cpp | 3 | 
| /src/opendnp3/cpp/lib/src/logging/HexLogging.h | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/HexConversions.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUHeaderParser.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUHeaderParser.h | 6 | 
| /src/opendnp3/cpp/lib/src/app/parsing/ParserSettings.h | 6 | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUParser.cpp | 6 | 
| /src/opendnp3/cpp/lib/src/app/parsing/ObjectHeaderParser.cpp | 2 | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/SerializationTemplates.h | 2 | 
| /src/opendnp3/cpp/lib/src/app/GroupVariationRecord.cpp | 7 | 
| /src/opendnp3/cpp/lib/src/gen/GroupVariation.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/app/GroupVariationRecord.h | 5 | 
| /src/opendnp3/cpp/lib/src/gen/QualifierCode.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/app/parsing/IAPDUHandler.cpp | 12 | 
| /src/opendnp3/cpp/lib/src/app/parsing/IAPDUHandler.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/NumParser.cpp | 8 | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountParser.cpp | 4 | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountParser.h | 7 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group50.h | 2 | 
| /src/opendnp3/cpp/lib/src/app/parsing/BufferedCollection.h | 9 | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/parsing/ICollection.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group51.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group52.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/RangeParser.cpp | 5 | 
| /src/opendnp3/cpp/lib/src/app/parsing/RangeParser.h | 30 | 
| /src/opendnp3/cpp/lib/src/app/parsing/BitReader.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group1.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group3.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group10.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group20.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group21.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group30.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group40.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountIndexParser.cpp | 6 | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountIndexParser.h | 49 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group2.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group4.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group11.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group12.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group13.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group22.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group23.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group32.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group41.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group42.h | 1 | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group43.h | 1 | 
| /src/opendnp3/cpp/lib/include/opendnp3/link/Addresses.h | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/app/Message.h | 1 | 
| /src/opendnp3/cpp/lib/src/app/HeaderWriter.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventSelection.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/event/ASDUEventWriteHandler.h | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/event/IEventWriteHandler.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventWriting.cpp | 3 | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/MockExecutor.h | 6 | 
| /src/opendnp3/cpp/lib/src/link/Addresses.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/app/Functions.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/CommandActionAdapter.cpp | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/ICommandAction.h | 2 | 
| /src/opendnp3/cpp/lib/src/outstation/CommandResponseHandler.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/app/parsing/IWhiteList.h | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/IINHelpers.cpp | 1 | 
| /src/opendnp3/cpp/lib/src/outstation/FreezeRequestHandler.cpp | 1 | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/OutstationContext.h | 1 | 
The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.
| Func name | Functions filename | Arg count | Args | Function depth | hitcount | instr count | bb count | cyclomatic complexity | Reachable functions | Incoming references | total cyclomatic complexity | Unreached complexity | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 
               opendnp3::FreezeRequestHandler::ProcessHeader(opendnp3::RangeHeaderconst&)
               | /src/opendnp3/cpp/lib/src/outstation/FreezeRequestHandler.cpp | 2 | ['class.opendnp3::FreezeRequestHandler *', 'class.opendnp3::RangeHeader *'] | 6 | 0 | 26 | 3 | 2 | 223 | 0 | 427 | 390 | 
| 
               non-virtualthunktoopendnp3::EventBuffer::SelectCount(opendnp3::GroupVariation,unsignedshort)
               | /src/opendnp3/cpp/lib/src/outstation/event/EventBuffer.cpp | 3 | ['class.opendnp3::EventBuffer *', 'short', 'short'] | 10 | 0 | 14 | 3 | 2 | 258 | 0 | 390 | 323 | 
| 
               opendnp3::MeasurementHandler::ProcessHeader(opendnp3::PrefixHeaderconst&,opendnp3::ICollection
                | /src/opendnp3/cpp/lib/src/master/MeasurementHandler.cpp | 3 | ['class.opendnp3::MeasurementHandler *', 'class.opendnp3::PrefixHeader *', 'class.std::__1::error_category *'] | 4 | 0 | 33 | 6 | 3 | 44 | 0 | 317 | 266 | 
Implementing fuzzers that target the above functions will improve reachability such that it becomes:
If you implement fuzzers for these functions, the status of all functions in the project will be:
| Func name | Functions filename | Args | Function call depth | Reached by Fuzzers | Fuzzers runtime hit | Func lines hit % | I Count | BB Count | Cyclomatic complexity | Functions reached | Reached by functions | Accumulated cyclomatic complexity | Undiscovered complexity | 
|---|
This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.
Use this with the libFuzzer -dict=DICT.file flag
Use one of these functions as input to libfuzzer with flag: -focus_function name
-focus_function=['opendnp3::LinkLayerParser::ValidateBody()', 'opendnp3::Decoder::Decoder(opendnp3::IDecoderCallbacks&, opendnp3::Logger const&)', 'opendnp3::LinkLayerParser::LinkLayerParser(opendnp3::Logger const&)', 'ser4cpp::Buffer::~Buffer()', 'ser4cpp::Buffer::Buffer(unsigned long)', 'ser4cpp::RSeq ser4cpp::WSeq::transfer_from<&memcpy>(ser4cpp::RSeq const&)', 'opendnp3::Decoder::~Decoder()', 'LLVMFuzzerTestOneInput', 'opendnp3::DecoderImpl::DecoderImpl(opendnp3::IDecoderCallbacks&, opendnp3::Logger const&)', 'opendnp3::DecoderImpl::DecodeLPDU(ser4cpp::RSeq const&)']    Use this with the libFuzzer -dict=DICT.file flag
Use one of these functions as input to libfuzzer with flag: -focus_function name
-focus_function=['opendnp3::logging::ParseAndLogRequestTx(opendnp3::Logger&, ser4cpp::RSeq const&)', 'opendnp3::MContext::Create(opendnp3::Addresses const&, opendnp3::Logger const&, std::__1::shared_ptr const&, std::__1::shared_ptr, std::__1::shared_ptr const&, std::__1::shared_ptr const&, std::__1::shared_ptr, opendnp3::MasterParams const&)', 'opendnp3::CountIndexParser::ParseCountOfObjects(ser4cpp::RSeq&, opendnp3::HeaderRecord const&, opendnp3::NumParser const&, unsigned short, opendnp3::Logger*, opendnp3::IAPDUHandler*)', 'opendnp3::MContext::OnResponse_WaitForResponse(opendnp3::APDUResponseHeader const&, ser4cpp::RSeq const&)', 'opendnp3::MasterTasks::GetEnableUnsolTask(std::__1::shared_ptr const&, opendnp3::MasterParams const&, opendnp3::Logger const&, opendnp3::IMasterApplication&)', 'opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const', 'opendnp3::MContext::ResumeActiveTask()', 'LLVMFuzzerTestOneInput', 'opendnp3::CountParser::ParseCountOfObjects(ser4cpp::RSeq&, opendnp3::HeaderRecord const&, unsigned short, opendnp3::Logger*, opendnp3::IAPDUHandler*)', 'opendnp3::RangeParser::ParseRangeOfObjects(ser4cpp::RSeq&, opendnp3::HeaderRecord const&, opendnp3::Range const&, opendnp3::Logger*, opendnp3::IAPDUHandler*)']           Use this with the libFuzzer -dict=DICT.file flag
Use one of these functions as input to libfuzzer with flag: -focus_function name
-focus_function=['opendnp3::logging::ParseAndLogResponseTx(opendnp3::Logger&, ser4cpp::RSeq const&)', 'opendnp3::logging::ParseAndLogResponseTx(opendnp3::Logger&, ser4cpp::RSeq const&)', 'LLVMFuzzerTestOneInput', 'opendnp3::List::List(unsigned int)', 'opendnp3::EventClassCounters::ResetOnFail()', 'opendnp3::EventBuffer::EventBuffer(opendnp3::EventBufferConfig const&)', 'opendnp3::StaticDataMap::StaticDataMap(std::__1::map, std::__1::allocator > > const&)', 'opendnp3::APDUResponse::SetIIN(opendnp3::IINField const&)', 'opendnp3::IINField::IINField(opendnp3::IINBit)', 'opendnp3::IINField::SetBit(opendnp3::IINBit)']      This section shows analysis of runtime coverage data.
For futher technical details on how this section is generated, please see the Glossary .
| Func name | Function total lines | Lines covered at runtime | percentage covered | Reached by fuzzers | 
|---|---|---|---|---|
| opendnp3::IINField::SetBit(opendnp3::IINBit) | 55 | 17 | 30.90% | ['fuzzoutstation'] | 
| opendnp3::build::WriteClassHeaders(opendnp3::HeaderWriter&,opendnp3::ClassFieldconst&) | 31 | 16 | 51.61% | [] | 
| opendnp3::IINField::IsSet(opendnp3::IINBit)const | 39 | 16 | 41.02% | ['fuzzmaster'] | 
| opendnp3::ControlState::ValidateSelection(opendnp3::SequenceNum | 32 | 7 | 21.87% | [] | 
| opendnp3::OContext::HandleRestart(ser4cpp::RSeq | 32 | 10 | 31.25% | [] | 
This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link
| Source file | Reached by | Covered by | 
|---|---|---|
| [] | [] | |
| /src/opendnp3/cpp/lib/src/outstation/NumRetries.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/ICommandTaskResult.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/posix_mutex.hpp | [] | [] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Settable.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/DoubleFloat.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/impl/service_registry.ipp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/ICommandAction.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/UserPollTask.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/BitReader.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/MeasurementFactory.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/eventfd_select_interrupter.hpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/WriteHandler.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/SerialTimeSyncTask.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/IEventWriteHandler.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group40.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/util/TimeDuration.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/impl/error.ipp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../dnp3mocks/include/dnp3mocks/MockLowerLayer.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/GroupVariationID.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/IntervalUnits.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/TaskId.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/GroupVariationRecord.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventCollection.h | [] | [] | 
| /usr/local/bin/../include/c++/v1/stdlib.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/util/Uncopyable.h | ['fuzzdecoder', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/IINField.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group43.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/RangeParser.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/SerializationTemplates.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/OctetString.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/ParserSettings.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/QualifierCode.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/util/UTCTimestamp.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group2.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/ControlRelayOutputBlock.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/execution_context.hpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/Message.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/decoder/Indent.h | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/outstation/SimpleCommandHandler.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventStorage.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/IClassAssigner.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group50.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group12.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/TimeSyncHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/MeasurementTypes.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/impl/error_code.ipp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/AssignClassHandler.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group42.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/PollTaskBase.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group2.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group22.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/LinkFunction.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group32.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventWriters.h | [] | [] | 
| /src/opendnp3/cpp/tests/dnp3mocks/./include/dnp3mocks/MockLowerLayer.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/UserPollTask.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/impl/system_context.ipp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/IINValue.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/ClassBasedRequestHandler.cpp | [] | [] | 
| /usr/local/bin/../include/c++/v1/math.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/DNP3Serializer.h | [] | [] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/Comparisons.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/CommandTask.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/StaticDataCell.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/StartupIntegrityPoll.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/RestartOperationResult.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/impl/scheduler.ipp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/APDUBuilders.cpp | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/master/ISOEHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/RestartOperationTask.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group21.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group11.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/HeaderWriter.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/IEventType.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/IAPDUHandler.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/ASDUEventWriteHandler.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /usr/local/bin/../include/c++/v1/exception | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/TaskBehavior.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/LANTimeSyncTask.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group40.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/DeferredRequest.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/LayerInterfaces.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/Buffer.h | ['fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/EventTriggers.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group21.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/LogLevels.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/outstation/ControlState.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/thread_group.hpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/CommandSetOps.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/ClearRestartTask.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/GroupVariationRecord.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventRecord.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/transport/TransportHeader.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group60.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/BinaryCommandEvent.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/RSeq.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/DNPTime.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/CommandResponseHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventBuffer.h | [] | [] | 
| /usr/local/bin/../include/c++/v1/stdexcept | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/ObjectHeaderParser.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/keyword_tss_ptr.hpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/fuzzoutstation.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationChannelStates.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/StaticDataMap.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/AnalogOutput.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/Event.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/CommandPointResult.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/IOutstationApplication.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/EmptyResponseTask.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/LANTimeSyncTask.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/StaticDataMap.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/TaskContext.h | [] | [] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Buffer.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/CommandTask.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/link/LinkLayerParser.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group10.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/IDnpTimeSource.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/Logger.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/BaseMeasurementTypes.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/AnalogOutput.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/SerialTimeSyncTask.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group51.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/OutstationParams.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/ConsoleLogger.h | ['fuzzdecoder'] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/NumParser.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/MasterContext.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/lib/src/outstation/IResponseLoader.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/ResponseContext.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/CommandTaskResult.cpp | [] | [] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/WSeq.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../dnp3mocks/include/dnp3mocks/MockSOEHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/MeasurementTypeSpecs.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/DNPTimeParsing.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/impl/posix_thread.ipp | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/StackStatistics.h | ['fuzzdecoder'] | [] | 
| /src/opendnp3/cpp/lib/src/app/QualityFlags.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/Indexed.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/EventCells.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/outstation/MeasurementConfig.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group30.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group12.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/TaskBehavior.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/tests/fuzz/fuzzmaster.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/lib/src/outstation/TimeSyncState.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/ReadHandler.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/decoder/LoggingHandler.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group13.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group3.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/TxBuffer.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/impl/epoll_reactor.ipp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group20.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/HeaderTypes.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../dnp3mocks/include/dnp3mocks/MockCommandHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/OctetData.cpp | [] | [] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/UInt48Type.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/Timer.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group20.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/link/LinkHeader.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/util/Timestamp.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/link/LinkStatistics.h | ['fuzzdecoder'] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/IAPDUHandler.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/DeferredRequest.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/app/AppControlField.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/TypedStorage.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/link/LinkHeaderFields.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /usr/local/bin/../include/c++/v1/istream | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/util/UTCTimestamp.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/Attributes.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/outstation/StaticTypeBitfield.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/posix_global.hpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/ClazzCount.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group22.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/BufferedCollection.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/Database.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventUpdate.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/PollTaskBase.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/link/Addresses.h | ['fuzzdecoder', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/logging/HexLogging.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/tests/fuzz/fuzzdecoder.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/util/Uncopyable.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/ConstantCommandAction.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/DownSampling.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/decoder/DecoderImpl.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/outstation/StaticWriters.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/EmptyResponseTask.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/tss_ptr.hpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationSeqNum.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/IEventSelector.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/ConsoleLogger.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUHeaderParser.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/AnalogCommandEvent.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/ILogHandler.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/link/ILinkListener.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventBuffer.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/Flags.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../dnp3mocks/include/dnp3mocks/MockMasterApplication.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/IWhiteList.h | ['fuzzmaster', 'fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/master/RestartOperationTask.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/SequenceNum.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/Uncopyable.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group30.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/decoder/DecoderImpl.h | ['fuzzdecoder'] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventLists.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/TripCloseCode.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/impl/execution_context.ipp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/ControlRelayOutputBlock.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group42.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/LayerInterfaces.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/link/IFrameSink.h | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/master/IMasterApplication.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/StaticDataMap.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/ClearRestartTask.h | [] | [] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Pair.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/ApplicationIIN.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/ClassBasedRequestHandler.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/conditionally_enabled_event.hpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationContext.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventRecord.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/event/List.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/TaskContext.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/Array.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/link/CRC.cpp | ['fuzzdecoder', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/IStaticSelector.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/master/EventScanTask.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/MeasurementHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/EventScanTask.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group52.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/AssignClassTask.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/ICommandHeader.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/outstation/SimpleCommandHandler.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/conditionally_enabled_mutex.hpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/./NullLogHandler.h | ['fuzzmaster', 'fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationStates.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/ConsoleLogger.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/ApplicationIIN.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/IMasterTaskRunner.h | ['fuzzmaster'] | [] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/EndianHelpers.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/IMasterScheduler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/link/LinkHeader.h | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/decoder/IDecoderCallbacks.h | ['fuzzdecoder'] | [] | 
| /src/opendnp3/cpp/lib/src/app/WriteConversions.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/ParsedRequest.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/ICommandCollection.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/GroupVariation.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventTypeImpl.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/ResponseInfo.h | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/lib/src/link/LinkFrame.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/app/APDUHeader.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/lib/src/gen/DoubleBit.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/OctetData.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/outstation/IUpdateHandler.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/RequestHistory.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/OutstationChannelStates.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/TypedCommandHeader.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group13.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/ClassField.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/CommandResponseHandler.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/decoder/LoggingHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group52.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/master/MasterSchedulerBackend.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/EnableUnsolicitedTask.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/event/EventStorage.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/event/EventLists.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group1.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/app/OctetString.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/APDULogging.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/ITimer.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/scheduler.hpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/app/TxBuffer.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/app/parsing/ICollection.h | [] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/IINField.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/link/Addresses.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventSelection.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group51.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/IMasterTask.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/link/Addresses.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/SimpleCommandHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/WriteHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/TaskConfig.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/CommandActionAdapter.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/app/Indexed.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/APDUResponse.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group1.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/dnp3mocks/src/MockLowerLayer.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/logging/LogLevels.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/CommandSetOps.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/APDUWrapper.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/DatabaseConfig.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group50.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group43.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountParser.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountParser.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountIndexParser.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/ResponseContext.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/DeferredRequest.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/MasterSchedulerBackend.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/StartupIntegrityPoll.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/CountIndexParser.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/DisableUnsolicitedTask.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/ISteadyTimeSource.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group4.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUParser.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/SingleFloat.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/PrefixedWriteIterator.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group11.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventWriters.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/CommandSet.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/transport/TransportRx.h | ['fuzzdecoder'] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/app/DNPTime.h | [] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/Functions.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/CommandSet.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../dnp3mocks/include/dnp3mocks/MockOutstationApplication.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/Serializer.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group3.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/decoder/Decoder.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group32.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/IExecutor.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/transport/TransportRx.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/link/ShiftableBuffer.h | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group41.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/List.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/TypedEventRecord.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/link/LinkLayerParser.h | ['fuzzdecoder'] | [] | 
| /src/opendnp3/cpp/lib/src/app/AppControlField.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/posix_event.hpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/Database.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/FunctionCode.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/link/ShiftableBuffer.cpp | ['fuzzdecoder'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/TaskInfo.h | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/lib/src/outstation/IINHelpers.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/FreezeRequestHandler.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/app/Message.h | ['fuzzmaster', 'fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/master/MasterContext.h | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/lib/src/master/AssignClassTask.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group10.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/parsing/Collections.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/MeasurementHandler.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/lib/src/app/RangeWriteIterator.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/DatabaseConfig.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/Logger.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/util/Buffer.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group4.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/APDURequest.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/master/IUTCTimeSource.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/MasterTasks.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/util/Buffer.h | ['fuzzdecoder'] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/error.hpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/OutstationConfig.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/master/CommandTaskResult.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/master/HeaderInfo.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/ASDUEventWriteHandler.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/Array.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/CommandActionAdapter.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/HasLength.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/StaticTypeBitfield.h | ['fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group23.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/EventBufferConfig.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/outstation/ICommandHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/RequestHistory.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationContext.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/MasterSchedulerBackend.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/CommandStatus.cpp | [] | [] | 
| /src/opendnp3/_deps/exe4cpp-src/src/exe4cpp/Timer.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/HeaderInfo.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/ReadHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group23.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/EventTriggers.h | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/MockExecutor.h | ['fuzzmaster', 'fuzzoutstation'] | [] | 
| /src/opendnp3/cpp/lib/src/app/parsing/RangeParser.cpp | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/outstation/OutstationStates.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/EnableUnsolicitedTask.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/master/MasterTasks.h | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/HexConversions.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/master/MasterParams.h | ['fuzzmaster'] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/OctetStringSerializer.cpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/noncopyable.hpp | [] | [] | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/LogLevels.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder'] | 
| /src/opendnp3/cpp/lib/src/outstation/AssignClassHandler.h | [] | [] | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/parsing/ICollection.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /usr/local/bin/../include/c++/v1/iosfwd | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/WriteConversionTemplates.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/gen/objects/Group41.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/parsing/APDUHeaderParser.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/Range.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/BitfieldRangeWriteIterator.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/app/HeaderWriter.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/gen/OperationType.cpp | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/IEventReceiver.h | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/RSeq.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/IMasterTask.cpp | ['fuzzmaster'] | ['fuzzmaster'] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventSelection.h | [] | [] | 
| /src/opendnp3/cpp/lib/src/outstation/event/EventWriting.cpp | ['fuzzoutstation'] | ['fuzzoutstation'] | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/HasLength.h | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | ['fuzzdecoder', 'fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/app/APDUHeader.h | ['fuzzmaster', 'fuzzoutstation'] | ['fuzzmaster', 'fuzzoutstation'] | 
| /src/opendnp3/cpp/lib/src/master/DisableUnsolicitedTask.cpp | [] | [] | 
| Directory | 
|---|
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/event/ | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/container/ | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/parsing/ | 
| /src/opendnp3/cpp/lib/src/decoder/ | 
| /src/opendnp3/cpp/lib/src/gen/objects/ | 
| /src/opendnp3/cpp/tests/fuzz/ | 
| /src/opendnp3/cpp/tests/dnp3mocks/./include/dnp3mocks/ | 
| /src/opendnp3/cpp/lib/include/opendnp3/outstation/ | 
| /src/opendnp3/cpp/tests/dnp3mocks/src/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/decoder/ | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/ser4cpp-src/src/ser4cpp/container/ | 
| /src/opendnp3/cpp/lib/src/app/ | 
| /src/opendnp3/cpp/lib/include/opendnp3/logging/ | 
| /src/opendnp3/cpp/lib/include/opendnp3/master/ | 
| /src/opendnp3/cpp/lib/include/opendnp3/app/ | 
| /src/opendnp3/cpp/lib/include/opendnp3/util/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/master/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/app/ | 
| /src/opendnp3/cpp/tests/fuzz/../dnp3mocks/include/dnp3mocks/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/app/parsing/ | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/serialization/ | 
| /src/opendnp3/_deps/ser4cpp-src/src/ser4cpp/util/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/util/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/master/ | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/impl/ | 
| /src/opendnp3/cpp/lib/src/master/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/outstation/ | 
| /src/opendnp3/cpp/lib/src/app/parsing/ | 
| /src/opendnp3/cpp/lib/src/transport/ | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/outstation/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/app/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/link/ | 
| /src/opendnp3/cpp/lib/src/outstation/event/ | 
| /src/opendnp3/_deps/exe4cpp-src/src/exe4cpp/ | 
| /src/opendnp3/cpp/lib/src/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/logging/ | 
| /src/opendnp3/cpp/lib/src/util/ | 
| /src/opendnp3/cpp/lib/src/link/ | 
| /src/opendnp3/cpp/lib/include/opendnp3/ | 
| /src/opendnp3/cpp/tests/fuzz/./ | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/detail/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/include/opendnp3/ | 
| /src/opendnp3/cpp/lib/src/logging/ | 
| /usr/local/bin/../include/c++/v1/ | 
| /src/opendnp3/cpp/lib/src/gen/ | 
| /src/opendnp3/cpp/tests/fuzz/../../lib/src/ | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/exe4cpp-src/src/exe4cpp/ | 
| /src/opendnp3/cpp/lib/include/opendnp3/link/ | 
| /src/opendnp3/cpp/lib/src/outstation/ | 
| /src/opendnp3/cpp/tests/fuzz/../../../_deps/asio-src/asio/include/asio/impl/ | 
This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.
| Fuzzer | Calltree file | Program data file | Coverage file | 
|---|---|---|---|
| fuzzdecoder | fuzzerLogFile-0-98rwnMd9Sr.data | fuzzerLogFile-0-98rwnMd9Sr.data.yaml | fuzzdecoder.covreport | 
| fuzzmaster | fuzzerLogFile-0-IuFytXdp5V.data | fuzzerLogFile-0-IuFytXdp5V.data.yaml | fuzzmaster.covreport | 
| fuzzoutstation | fuzzerLogFile-0-Urk92ILGGy.data | fuzzerLogFile-0-Urk92ILGGy.data.yaml | fuzzoutstation.covreport |