DotNetDupe Static Analysis & Quality Gate Dashboard

Generated: 2026-09-10 22:07:38 | Quality Gate Status: PASSED | Total Rules Checked: 11

🛡 Phase 1: High-Priority Safety & Hygiene Gates

1. File Length (≤ 600 LLOC)

106 Files
✔ 100% Compliant

2. Function Export Macros

193 Headers
✔ 100% Compliant

3. Standard Exceptions

0 Throws
✔ 0 Prohibited

4. Raw Allocations

0 Allocations
✔ 0 Unmanaged

5. Swallowed Catches

0 Empty Blocks
✔ 0 Swallowed

6. Public API STL Leakage

0 Leaks
✔ 0 Leaks

📊 Phase 2: Structural Complexity & Function Limits

7. Function Length (≤ 15 LLOC)

1512 Functions
✔ 0 Over Limits

8. Class Length (≤ 500 LLOC)

133 Classes
✔ 0 Over Limits

9. Cyclomatic Complexity (CCN)

4 High CCN
✔ Analyzed

10. Max Nesting Depth (≤ 4)

0 Deep Blocks
✔ Analyzed

11. SmartPointer "p" Prefix

0 Violations
✔ 100% Compliant

📄 Implementation Source File Size Distribution (≤ 600 LLOC)

Source FileLLOCLimitStatus
DotNetDupe\String.cpp477600PASS
DotNetDupe\SystemMetrics.cpp385600PASS
DotNetDupe\EventLog.cpp326600PASS
DotNetDupe\JsonElement.cpp318600PASS
DotNetDupe\Process.cpp311600PASS
DotNetDupe\Console.cpp309600PASS
DotNetDupe\Convert.cpp307600PASS
DotNetDupe\WebApplication.cpp280600PASS
DotNetDupe\EtwLogReader.cpp278600PASS
DotNetDupe\InMemoryDatabaseBackend.cpp277600PASS
DotNetDupe\Environment.cpp256600PASS
DotNetDupe\HttpClient.cpp248600PASS
DotNetDupe\FileDownloader.cpp245600PASS
DotNetDupe\Path.cpp236600PASS
DotNetDupe\DateTime.cpp225600PASS
DotNetDupe\Socket.cpp222600PASS
DotNetDupe\SslStream.cpp200600PASS
DotNetDupe\UserPrincipal.cpp177600PASS
DotNetDupe\ProcessStreamer.cpp177600PASS
DotNetDupe\SystemMetricsLinux.cpp155600PASS
DotNetDupe\Directory.cpp152600PASS
DotNetDupe\WebSocket.cpp142600PASS
DotNetDupe\BitConverter.cpp140600PASS
DotNetDupe\HMACSHA256.cpp140600PASS
DotNetDupe\File.cpp138600PASS
DotNetDupe\BinaryReader.cpp138600PASS
DotNetDupe\EventWaitHandle.cpp138600PASS
DotNetDupe\Semaphore.cpp132600PASS
DotNetDupe\LoggerConfiguration.cpp123600PASS
DotNetDupe\ServiceProvider.cpp121600PASS
DotNetDupe\LoggerBase.cpp118600PASS
DotNetDupe\Mutex.cpp117600PASS
DotNetDupe\Uri.cpp116600PASS
DotNetDupe\BinaryWriter.cpp116600PASS
DotNetDupe\HttpContent.cpp114600PASS
DotNetDupe\Thread.cpp108600PASS
DotNetDupe\FileStream.cpp108600PASS
DotNetDupe\Interlocked.cpp104600PASS
DotNetDupe\MockStream.cpp98600PASS
DotNetDupe\ThreadPool.cpp94600PASS
DotNetDupe\WebAppServer.cpp92600PASS
DotNetDupe\MemoryStream.cpp90600PASS
DotNetDupe\LogManager.cpp88600PASS
DotNetDupe\JWTToken.cpp86600PASS
DotNetDupe\Version.cpp84600PASS
DotNetDupe\Task.cpp83600PASS
DotNetDupe\Stopwatch.cpp81600PASS
DotNetDupe\TerminalSession.cpp81600PASS
DotNetDupe\Char.cpp77600PASS
DotNetDupe\SqliteDatabaseBackend.cpp76600PASS
DotNetDupe\WebApplicationRouting.cpp73600PASS
DotNetDupe\TimeZone.cpp69600PASS
DotNetDupe\StringBuilder.cpp67600PASS
DotNetDupe\SqlConnection.cpp64600PASS
DotNetDupe\UriBuilder.cpp61600PASS
DotNetDupe\X509Certificate2.cpp61600PASS
DotNetDupe\TimeProvider.cpp60600PASS
DotNetDupe\Dns.cpp60600PASS
DotNetDupe\TextWriter.cpp57600PASS
DotNetDupe\Guid.cpp57600PASS
DotNetDupe\ActiveUserSession.cpp57600PASS
DotNetDupe\TcpListener.cpp56600PASS
DotNetDupe\StringWriter.cpp55600PASS
DotNetDupe\SqlDataReader.cpp55600PASS
DotNetDupe\LoggerTextWriter.cpp55600PASS
DotNetDupe\SqlCommand.cpp53600PASS
DotNetDupe\Win32Exception.cpp53600PASS
DotNetDupe\HttpResponse.cpp52600PASS
DotNetDupe\SemaphoreSlim.cpp51600PASS
DotNetDupe\FileLoggerProvider.cpp50600PASS
DotNetDupe\TimeZoneInfo.cpp49600PASS
DotNetDupe\NetworkStream.cpp48600PASS
DotNetDupe\TcpClient.cpp48600PASS
DotNetDupe\StringReader.cpp47600PASS
DotNetDupe\DatabaseEngine.cpp46600PASS
DotNetDupe\UdpClient.cpp46600PASS
DotNetDupe\OperatingSystem.cpp46600PASS
DotNetDupe\FileLogger.cpp43600PASS
DotNetDupe\HttpResponseMessage.cpp41600PASS
DotNetDupe\TextReader.cpp40600PASS
DotNetDupe\ManualResetEvent.cpp40600PASS
DotNetDupe\AutoResetEvent.cpp40600PASS
DotNetDupe\InternalStringConvert.cpp38600PASS
DotNetDupe\ConditionVariable.cpp36600PASS
DotNetDupe\Exception.cpp34600PASS
DotNetDupe\DateTimeOffset.cpp29600PASS
DotNetDupe\Random.cpp28600PASS
DotNetDupe\HttpRequestMessage.cpp28600PASS
DotNetDupe\TextEncoding.cpp27600PASS
DotNetDupe\LoggerFactory.cpp27600PASS
DotNetDupe\AggregateLogger.cpp26600PASS
DotNetDupe\HttpMethod.cpp25600PASS
DotNetDupe\WebApplicationBuilder.cpp22600PASS
DotNetDupe\CriticalSection.cpp22600PASS
DotNetDupe\WebSocketException.cpp21600PASS
DotNetDupe\UriParser.cpp21600PASS
DotNetDupe\Object.cpp21600PASS
DotNetDupe\ConsoleLogger.cpp19600PASS
DotNetDupe\ConsoleLoggerProvider.cpp17600PASS
DotNetDupe\DaylightTime.cpp12600PASS
DotNetDupe\dllmain.cpp12600PASS
DotNetDupe\ServiceCollection.cpp12600PASS
DotNetDupe\SocketException.cpp11600PASS
DotNetDupe\EventArgs.cpp8600PASS
DotNetDupe\Stream.cpp5600PASS
DotNetDupe\pch.cpp1600PASS

⚙ Top Functions by Complexity & LLOC

FunctionFileLLOCCCNNesting DepthStatus
LoggerBase::GetFormattedTimestampLoggerBase.cpp:331532PASS
DateTimeOffset::ToStringDateTimeOffset.cpp:251521PASS
TerminalSession::GetSessionsTerminalSession.cpp:691563PASS
ServiceProvider::GetServiceServiceProvider.cpp:1321552PASS
Console::SetForegroundColorConsole.cpp:2931542PASS
Console::SetBackgroundColorConsole.cpp:2631542PASS
String::CopyToString.cpp:2991561PASS
Mutex::TryOpenExistingMutex.cpp:1121531PASS
EventWaitHandle::TryOpenExistingEventWaitHandle.cpp:1021531PASS
LoggerBase::BuildLogMessageLoggerBase.cpp:1551522PASS
String::JoinString.cpp:4301573PASS
StringConvertInternal::Utf8ToWCharInternalStringConvert.cpp:331572PASS
Environment::GetOSVersionEnvironment.cpp:1091522PASS
Path::ChangeExtensionPath.cpp:431551PASS
SystemMetrics::EnrichProcessInfoSystemMetrics.cpp:4921573PASS
WebAppServer::GetMimeTypeWebAppServer.cpp:521532PASS
Semaphore::TryOpenExistingSemaphore.cpp:1031531PASS
SystemMetrics::GetAllServicesSystemMetrics.cpp:5161554PASS
InterlockedInternal::Add64Interlocked.cpp:941522PASS
StringConvertInternal::WCharToUtf8InternalStringConvert.cpp:121572PASS
InterlockedInternal::Decrement64Interlocked.cpp:761522PASS
File::GetAttributesFile.cpp:1671531PASS
InterlockedInternal::Increment64Interlocked.cpp:581522PASS
EventLog::CreateEventSourceEventLog.cpp:3681572PASS
ManualResetEvent::TryOpenExistingManualResetEvent.cpp:351531PASS