java-topology/whitepaper/vectors/eda/kicad.rst
russell@unturf.com 0a580b313d undefect. CWE-407 — 63 sites patched across 27 ecosystems
Authors: russell@unturf.com · brackishbert@gmail.com · foxhop.net · TimeHexOn.com

Patches, unit tests, benchmarks, whitepaper, and outreach briefs.
Public domain — no copyright claimed. Use freely.
2026-03-26 17:11:57 -04:00

33 lines
1.1 KiB
ReStructuredText

KiCad — CWE-407 Analysis
=========================
.. contents:: :local:
Overview
--------
KiCad is an open-source EDA (Electronic Design Automation) suite for PCB design and
schematic capture. Its connectivity engine (``pcbnew/connectivity/``) builds a netlist
graph and computes ratsnest (unrouted connections), DRC electrical checks, and net
topology analysis.
Status: **CLEAN** (scanned 2026-03-23)
---------------------------------------
No candidates found in ``pcbnew/connectivity``, ``eeschema/netlist_exporters``, or ``common``.
Triage Notes
------------
The connectivity engine builds a ``CN_CONNECTIVITY_ALGO`` graph over pads, tracks, and nets.
The scan found no ``std::find`` or ``.count()`` calls on ``std::vector`` containers near
graph traversal keywords in any of the scanned directories.
KiCad's connectivity engine uses dedicated ``CN_ITEM`` and ``CN_CLUSTER`` objects with
direct pointer equality and spatial indexing (R-tree) for connectivity queries. The ratsnest
computation and DRC passes do not use list-backed visited sets.
References
----------
* Scan result: ``tools/scan-results/kicad.txt``