Repository navigation
ECU Studio AI v1.19.0
Kennfelderkennung ohne Definition, abgesichert durch eine abschließende Prüfung; Lerndaten ohne nachweisbare Freigabe
sind entfernt, die App zeigt die Art des Belegs statt Prozentwerten. Messungen, Daten und Grenzen:
Entwicklungsbericht und Validierungsbericht. Status je Funktion: validiert = an unabhängigen Referenzen
nachgewiesen, experimentell = vorhanden, aber nicht unabhängig geprüft.
- TriCore-Programmcode (experimentell): Interpolationsaufrufe, die einen Datensatzkopf übergeben (Anzahl und
Stützstellen beider Achsen vor den Daten, auch gemischt 8/16 Bit), werden erkannt. Die Zellbreite kommt aus den
Ladebefehlen der Routine ohne die Zählerzugriffe. Bedingte Sprünge werden verfolgt. Erwartet eine Routine ihre
Argumente in anderen Registern alsa4/a5/a6, wird die Belegung aus ihrem Aufrufverhalten abgeleitet.
Gemessen nur am MSD80-Vollflash I8A0S, an dem auch entwickelt wurde (Teil-XDF): 73 → 84 von 99 Kennfeldern exakt,
Kennlinien 164 → 173. Netto 11 mehr: 13 Kennfelder sind neu exakt, 2 in 1.18.2 exakte Kennfelder sind es nicht
mehr (0x4FB18 6 × 7 u16, 0x5604C 6 × 8 u16; bekannte Regression, Aufgabe für 1.19.1). Für andere TriCore-Stände
gibt es keine unabhängige Referenz. Auf allen anderen Vergleichspaaren sind exakte Kennfelder, Datentypen, Achsen
und Achsadressen gleich wie in 1.18.2. - Drei Erkennungsebenen: Definitionen bleiben unverändert. Funde aus Code und Struktur füllen Lücken, bevor
Datenmuster und KI zum Zug kommen. Findet die Erkennung über Programmcode oder Struktur dieselbe Tabelle wie eine
Definition, gilt die Definition als „unabhängig bestätigt“ (nicht als geprüft). Ein Fund allein über Datenmuster
stützt nur die Lage und wird getrennt gezählt. Widersprüche (Start, Größe, Zellbreite, Byte-Reihenfolge, belegtes
Vorzeichen) stehen im Scanbericht. Ein Fund, der eine Definition teilweise überlappt, wird nicht mehr zusätzlich in
die Liste übernommen. - Falsche Definition erkannt: Kehren sich bei mehr als 10 % der prüfbaren Kennfelder die Achswerte um, warnen
XDF-Import und Scan, dass die Definition vermutlich zu einem anderen Softwarestand oder einer anderen Familie
gehört. Gemessen an lokalen Paaren: passende Definitionen 0,1–0,8 %, falsche 87–97 %. Leere oder gelöschte
Tabellenbereiche sind nur noch ein Hinweis, keine Warnung (sie sind bei unbenutzten Funktionen üblich). - Datentyp nicht erfunden: Ist das Vorzeichen nicht durch Programmcode belegt und entscheiden die Bytes es, zeigt
der Inspektor die andere mögliche Lesart. - Identifikation mit Stufe: eindeutig, wahrscheinlich, mehrdeutig oder unbekannt, jeweils mit Grund.
- Prüfliste (Werkzeuge): erkannte Kennfelder nach Prüfbedarf, mit Gründen und gemeinsamen Achsen. Bestätigen und
Ablehnen werden im Projekt gespeichert und gelten nur für die Originaldatei, auf der sie getroffen wurden. Unter
„Entscheidungen …“ lässt sich jede Entscheidung zurücknehmen. Eine abgelehnte Tabelle bietet ein neuer Scan nicht
wieder an, außer sie wird jetzt mit stärkerem Beleg gefunden; dann erscheint sie mit Hinweis. - Namensübertragung zwischen Softwareständen: Vorschläge, die die Erkennung im Zielstand an derselben Stelle mit
gleicher Größe, Zellbreite und Byte-Reihenfolge findet, sind gekennzeichnet. Gemessen an MED17 (Entwicklungsdaten):
„ähnliche Werte“ 92 → 99 % richtig (nicht unabhängig validiert; die App zeigt diese Quoten nicht an). Findet die Erkennung dort andere Achsen, gilt das nicht als Bestätigung. Ist
eine Achse am Zielort nicht bestätigt, werden ihre Werte nicht mehr mitübertragen; vorher waren bei 296 von 941
solcher Achsen die Werte falsch. Vorschläge ersetzen beim Übernehmen eine ungeprüfte, unbenannte Erkennung an
derselben Stelle. Bisher wurden gerade die bestätigten Vorschläge übersprungen. - Lernmodelle ohne nachweisbare Freigabe entfernt: Das seit 1.15.0 mitgelieferte Lernmodell für Datenmuster-Funde
wurde unter anderem mit einer Datei trainiert, deren Herkunftsvermerk Training ausschließt, und mit Daten ohne
dokumentierte Freigabe. Es ist aus Programm, ZIP, Installer und Quellcode entfernt, ebenso das
MS43-Strukturmodell (keine Trainingsfreigabe) und die Tabelle der gemessenen Trefferquoten (gemessen an Dateien
ohne geklärte Herkunft). Die Git-Historie bleibt unverändert, Prüfsummen und Herkunft stehen in der
Modellkarte § 2e. Der Build bricht ab, wenn eine dieser Dateien (auch umbenannt) wieder in
ein Paket gerät. Ein neues Modell wird nur mit dokumentierter Freigabe seiner Trainingsdaten angewendet. - Folgen für die Erkennung: Exakte Kennfelder, Datentypen, Achsen und Achsadressen bleiben auf allen 15
Vergleichspaaren gleich. Ohne Modell erscheinen aber mehr ungeprüfte Datenmuster-Funde (z. B. ME9: Präzision
62 → 42 %, MS45: 66 → 38 %). Formhinweise des MS43-Modells gibt es nicht mehr; sie betrafen nur Kennfelder, die die
mitgelieferte MS43-Definition ohnehin enthält. - Art des Belegs statt Prozentzahl: Jeder automatische Fund zeigt Code-Beleg, Strukturbeleg oder
Datenmuster-Vermutung. Das ist keine Wahrscheinlichkeit und nicht unabhängig validiert; der Tooltip sagt das.
TriCore-Codebelege sind als experimentell markiert. Der Katalogfilter nutzt dieselben Stufen. Quoten, die
1.15.0–1.18.2 in Projekten gespeichert haben, werden beim Laden entfernt; eigene Notizen bleiben. Die historischen
Werte mit ihrer Herkunft stehen in der Modellkarte. - Prüfliste: Reine Datenmuster-Vermutungen ohne Widerspruch stehen als eigene Gruppe nach den Funden mit Code-
oder Strukturbeleg, jede Zeile als „Vermutung“ gekennzeichnet. Die Gruppe ist beim Öffnen aufgeklappt, weil sie
auch echte Kennfelder enthält (MS42: alle 22 exakten Funde, MS45: 21 von 30), und lässt sich einklappen
(„Datenmuster-Vermutungen anzeigen“). Alle Funde bleiben im Projekt, im Katalog und im Filter. - Training reproduzierbar: Datensatz mit Herkunft, Familien-Auslassung, Seed, Protokoll und Ersetzungsregel.
Trainiert wird nur mit Daten, deren Freigabe festgehalten ist (training_allowed), und nur ein so trainiertes
Modell wird im Scan angewendet. Ein freigegebener Datensatz mit vollständiger Referenz liegt derzeit nicht vor. - Scan: benannte Stufen in der Statusleiste, durchgehend steigender Fortschritt, schnellere Achsensuche bei
identischen Ergebnissen. Mit einer großen geladenen XDF fror das Fenster nach dem Scan bisher 35–43 s ein
(MED17 mit 3446 Definitionen); die Übernahme der Funde dauert jetzt unter 0,3 s bei gleichem Ergebnis.
Musste das Fenster während eines Scans neu zeichnen (erste Anzeige einer Datei, Schließen der Prüfliste), stand es
bis zum Scan-Ende still (MS43: 4,7–5,1 s, auch in 1.18.2); jetzt längste Pause 0,11 s bei gleicher Scandauer.
Beendete Hintergrundaufgaben werden vor dem Freigeben und beim Schließen abgewartet. - Bekannte Grenzen:
- Die Präzision der Funde aus Programmcode ist nicht gemessen. Die TriCore-Codeerkennung bleibt experimentell.
- Bosch EDC17 setzt Tabellenzeiger zur Laufzeit über
a9, das ist statisch nicht auflösbar. - EDC17, MG1, MD1, Simos und SID bleiben nicht validiert. Die früheren Hersteller-A2L-Messungen (MSD80, MSD85,
EDC16, EDC17CP09) lassen sich lokal nicht wiederholen und gelten als historisch. - Ein einmaliger Absturz (Zugriffsverletzung) vom 01.11.2026 trat in den späteren Belastungsläufen nicht wieder
auf. Seine Ursache ist unbekannt. - Liegt der Programmordner tiefer als rund 200 Zeichen, startet das Programm nicht (Windows-Pfadlänge).
- Ein Abbruch wirkt bei MS43 erst nach 3–5 s, weil das Einlesen der mitgelieferten Definition nicht unterbrechbar
ist. Funde eines abgebrochenen Scans werden nicht übernommen. - Geplante Arbeiten für 1.19.1: Aufgaben.
English
Map recognition without a definition, backed by a final validation round. Status per feature: validated = proven
on independent references, experimental = present but not independently checked.
- TriCore program code (experimental): interpolation calls that pass a record header (count and breakpoints of
both axes in front of the data, also mixed 8/16 bit) are recognised. The cell width comes from the routine's load
instructions, without the count reads. Conditional branches are followed. Where a routine expects its arguments
in other registers thana4/a5/a6, the assignment is derived from its call behaviour. Measured only on the
MSD80 full flash I8A0S, which was also used during development (partial XDF): 73 → 84 of 99 maps exact, curves
164 → 173. Net 11 more: 13 maps are newly exact, 2 maps that were exact in 1.18.2 no longer are (0x4FB18
6 × 7 u16, 0x5604C 6 × 8 u16; known regression, task for 1.19.1). There is no independent reference for other
TriCore versions. On all other comparison pairs, exact maps, data types, axes and axis addresses are the same as
in 1.18.2. - Three recognition layers: definitions stay unchanged. Findings from code and structure fill gaps before data
patterns and AI do. If code/structure detection finds the same table as a definition, the definition is marked
"independently confirmed" (not "checked"). A data-pattern match only supports the position and is counted
separately. Contradictions (start, size, cell width, byte order, proven sign) are listed in the scan report. A
finding that partly overlaps a definition is no longer added to the list as well. - Wrong definition detected: if the axis values change direction in more than 10 % of the checkable maps, XDF
import and scan warn that the definition probably belongs to another software version or family. Measured on
local pairs: fitting definitions 0.1–0.8 %, wrong ones 87–97 %. Empty or erased table areas are now a hint, not a
warning (they are common for unused functions). - No invented data types: if the sign is not proven by program code and the bytes decide it, the inspector shows
the other possible reading. - Identification with a level: unique, probable, ambiguous or unknown, each with its reason.
- Review checklist (Tools): detected maps ordered by need for review, with reasons and shared axes. Confirm and
reject are saved in the project and apply only to the original file they were made on. Every decision can be
withdrawn under "Decisions …". A new scan does not offer a rejected table again unless it is now found with
stronger evidence; then it appears with a note. - Name transfer between software versions: proposals that the target's own detection finds at the same place
with the same size, cell width and byte order are marked. Measured on MED17 (development data): "similar values"
92 → 99 % correct (not independently validated; the app does not show these rates). A detection with other axes there does not count as confirmation. Axis values are no longer
carried over when the axis is not confirmed at the target place; before, 296 of 941 such axes showed wrong values.
When adopted, a proposal replaces an unchecked, unnamed detection at the same place. Until now exactly the
confirmed proposals were skipped. - Learned models without provable clearance removed: the learned model for data-pattern finds, shipped since
1.15.0, was trained, among others, on a file whose provenance note excludes training and on data without
documented clearance. It is removed from the program, ZIP, installer and source code. The same applies to the
MS43 structure model (no training clearance) and the table of measured hit rates (measured on files without
clarified provenance). Git history is unchanged; checksums and provenance are in the model card, section 2e
(German). The build stops if one of these files, even renamed, gets into a package again. A new model is applied
only with documented clearance of its training data. - Effect on detection: exact maps, data types, axes and axis addresses stay the same on all 15 comparison pairs.
Without the model, more unconfirmed data-pattern finds appear (e.g. ME9: precision 62 → 42 %, MS45: 66 → 38 %).
The MS43 model's shape hints are gone; they only concerned maps the bundled MS43 definition already contains. - Kind of evidence instead of a percentage: every automatic find shows code evidence, structure evidence or
data-pattern guess. This is not a probability and not independently validated; the tooltip says so. TriCore
code evidence is marked experimental. The catalogue filter uses the same levels. Rates saved in projects by
1.15.0–1.18.2 are removed on loading; your own notes stay. The historical values and their provenance are in the
model card. - Review checklist: pure data-pattern guesses without contradictions form a separate group after the finds with
code or structure evidence, each row marked as a guess. The group is expanded when the checklist opens, because
it also holds real maps (MS42: all 22 exact finds, MS45: 21 of 30), and can be collapsed ("Show data-pattern
guesses"). All finds stay in the project, the catalogue and the filter. - Reproducible training: data set with provenance, family hold-out, seed, log and replacement gate. Only data
with a recorded clearance (training_allowed) is trained on, and only such a model is applied in scans. No
cleared data set with a complete reference is available at the moment. - Scan: named stages in the status bar, steadily rising progress, faster axis search with identical results.
With a large XDF loaded, the window used to freeze for 35–43 s after a scan (MED17 with 3446 definitions); taking
over the findings now takes less than 0.3 s with the same result. If the window had to repaint during a scan
(first display of a file, closing the checklist), it stood still until the scan ended (MS43: 4.7-5.1 s, also in
1.18.2); now the longest pause is 0.11 s with the same scan time. Finished background tasks are waited for
before they are released and when the window closes. - Known limits:
- The precision of program-code findings is not measured. TriCore code detection stays experimental.
- Bosch EDC17 sets table pointers at run time through
a9, which cannot be resolved statically. - EDC17, MG1, MD1, Simos and SID remain not validated. The earlier manufacturer-A2L measurements (MSD80, MSD85,
EDC16, EDC17CP09) cannot be repeated locally and are marked as historical. - A one-time crash (access violation) on 1 Nov 2026 did not recur in the later stress runs. Its cause is unknown.
- If the program folder is nested deeper than about 200 characters, the program does not start (Windows path
length). - On MS43, cancelling takes effect only after 3–5 s, because reading the bundled definition cannot be
interrupted. Finds of a cancelled scan are not taken over. - Planned work for 1.19.1: docs/AUFGABEN_1.19.1.md (German).
No flash approval: ECU Studio AI does not release modified files for flashing. Checksums, signatures, emissions
and safety functions remain the user's responsibility.
Installation: ECU-Studio-AI-<version>-windows-x64.zip entpacken und ECU-Studio-AI.exe starten, oder den
Installer ECU-Studio-AI-<version>-setup.exe ausführen. Bestehende Installationen finden das Update unter „Einstellungen → Jetzt nach Updates suchen“ (automatisch nur, wenn eingeschaltet).
Windows-Warnung beim ersten Start: Die EXE ist noch nicht code-signiert. Bei „Der Computer wurde durch Windows
geschützt“ auf „Weitere Informationen“ → „Trotzdem ausführen“ klicken. Echtheit prüfen: SHA-256 gegen die
.sha256-Datei, Build-Herkunft mit gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.