<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Orthogonal_Defect_Classification</id>
	<title>Orthogonal Defect Classification - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Orthogonal_Defect_Classification"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Orthogonal_Defect_Classification&amp;action=history"/>
	<updated>2026-05-24T02:17:51Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Orthogonal_Defect_Classification&amp;diff=1245128&amp;oldid=prev</id>
		<title>imported&gt;Graph Pixel: Tippfehler korrigiert.</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Orthogonal_Defect_Classification&amp;diff=1245128&amp;oldid=prev"/>
		<updated>2025-06-19T16:42:02Z</updated>

		<summary type="html">&lt;p&gt;Tippfehler korrigiert.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Orthogonal Defect Classification&amp;#039;&amp;#039;&amp;#039; (ODC) ist ein Modell zur [[Klassifikation]] von Fehlern in der [[Softwareentwicklung]], das bei [[IBM]] entwickelt wurde. Durch die Klassifikation von Fehlern nach bestimmten Kategorien und Attributen lassen sich Zusammenhänge zwischen dem [[Vorgehensmodell zur Softwareentwicklung|Entwicklungsprozess]] und der Ursache von Fehlern aufzeigen. Anhand der dabei gewonnenen Erkenntnisse lassen sich Maßnahmen zur Verbesserung des Entwicklungsprozess ableiten.&lt;br /&gt;
&lt;br /&gt;
== Konzept ==&lt;br /&gt;
ODC gehört zur Klasse der [[Fehler-Ursachen-Analyse|Ursachenanalyse]] (&amp;#039;&amp;#039;Root cause analysis&amp;#039;&amp;#039;) und ist eine Technik aus dem Bereich [[Softwaretechnik]]. Im Gegensatz zur klassischen Ursachenanalyse werden hierbei die einzelnen Fehler nicht detailliert und zeitaufwändig analysiert, sondern mittels vordefinierten Kategorien semantisch klassifiziert.&lt;br /&gt;
&lt;br /&gt;
== Fehlerklassifikation ==&lt;br /&gt;
Bei der Fehlerklassifikation mit ODC wird der Fehler zweimal klassifiziert – bei Feststellen des Fehlers nach den Kriterien der sogenannten „&amp;#039;&amp;#039;Opener Section&amp;#039;&amp;#039;“; nach dem Beheben dann noch einmal nach denen der „&amp;#039;&amp;#039;Closer Section&amp;#039;&amp;#039;“. In der &amp;#039;&amp;#039;Opener Section&amp;#039;&amp;#039; liegt der Fokus auf den Umständen, die zum Fehlverhalten geführt haben – so können diese auch später reproduziert werden. In der &amp;#039;&amp;#039;Closer Section&amp;#039;&amp;#039; wird die Ursache bestimmt, die zu dem Fehler geführt haben. Die &amp;#039;&amp;#039;Opener Section&amp;#039;&amp;#039; bietet drei Kategorien, die &amp;#039;&amp;#039;Closer Section&amp;#039;&amp;#039; fünf.&lt;br /&gt;
&lt;br /&gt;
=== Opener Section ===&lt;br /&gt;
Die &amp;#039;&amp;#039;Opener Section&amp;#039;&amp;#039; besteht aus den Kategorien:&lt;br /&gt;
* &amp;#039;&amp;#039;Activity&amp;#039;&amp;#039;: Wann wurde ein Fehler gefunden? Hierbei ist nicht das Datum gemeint, sondern der Zeitpunkt innerhalb des Entwicklungsprozesses bzw. des [[Produktlebenszyklus]].&lt;br /&gt;
:Beispiel: Design- oder Codereview, Modul-, Komponenten- oder Systemtest.&lt;br /&gt;
* &amp;#039;&amp;#039;Trigger&amp;#039;&amp;#039;: Wie wurde der Fehler gefunden? Hierbei darf der Trigger nicht mit dem Symptom, also der Auswirkung eines Fehlers bzw. dem Fehlverhalten eines Programms verwechselt werden.&lt;br /&gt;
: Beispiel: Durch einen Fehler in einer Zählschleife wird ein falscher Wert auf der Benutzeroberfläche angezeigt. Das Symptom ist dabei die Anzeige des falschen Wertes. Der Trigger könnte in diesem Fall ein Boundary-Value Test gewesen sein. Der Trigger ist sozusagen der „Katalysator“, der einen Fehler zu einem Fehlverhalten werden lässt.&lt;br /&gt;
* &amp;#039;&amp;#039;Impact&amp;#039;&amp;#039;: Welche Auswirkungen ergeben sich für den Kunden bzw. hätten sich ergeben können, wenn der Fehler erst beim Kunden entdeckt worden wäre in Bezug auf [[ISO 9126]]?&lt;br /&gt;
&lt;br /&gt;
=== Closer Section ===&lt;br /&gt;
Die &amp;#039;&amp;#039;Closer Section&amp;#039;&amp;#039; besteht aus den Kategorien:&lt;br /&gt;
* &amp;#039;&amp;#039;Target&amp;#039;&amp;#039;: Welches Objekt wurde verbessert, damit der Fehler behoben werden konnte?&lt;br /&gt;
* &amp;#039;&amp;#039;Defect Type&amp;#039;&amp;#039;: Was genau musste verbessert werden, damit der Fehler behoben werden konnte?&lt;br /&gt;
:Beispiel: [[Zuweisung]], [[Schnittstelle (Programmierung)|Schnittstelle]], [[Algorithmus]]&lt;br /&gt;
* &amp;#039;&amp;#039;Qualifier&amp;#039;&amp;#039;: Spezifiziert, ob die Behebung eines Fehlers aufgrund von: Fehlendem, fehlerhaftem oder überflüssigem [[Quellcode]] erfolgte.&lt;br /&gt;
* &amp;#039;&amp;#039;Age&amp;#039;&amp;#039;: Spezifiziert, ob der Fehler in einem neuen, basis, umgeschriebenen ([[Refactoring|refactored code]]) oder fehlerbereinigtem Codezweig auftrat.&lt;br /&gt;
* &amp;#039;&amp;#039;Source&amp;#039;&amp;#039;: Spezifiziert, ob der Fehler innerhalb des Quellcodes aus Eigenentwicklung, Wiederverwendung (reuse), Portierung oder von einem fremden Anbieter stammt.&lt;br /&gt;
&lt;br /&gt;
== Möglichkeiten der Auswertungen mit ODC ==&lt;br /&gt;
Die &amp;#039;&amp;#039;Orthogonal Defect Classification&amp;#039;&amp;#039; als ein Vertreter der [[Softwaremetrik]]en eignet sich durch seine Klassifizierung von Fehlerdaten dazu, auf Basis eines ODC-Datenbestandes Auswertungen bzgl. des jeweiligen [[Softwareentwicklungsprozess]]es erstellen zu können. Dabei sieht das ODC-Konzept insgesamt zwei Methoden vor, mit denen die Zuverlässigkeit und Qualität eines Test- und Entwicklungsprozesses für Software analysiert und bewertet werden kann:&lt;br /&gt;
# Root Cause Analysis (RCA) und&lt;br /&gt;
# Statistical Defect Modeling (SDM).&amp;lt;ref name=&amp;quot;Chillarege1&amp;quot;&amp;gt;Ram Chillarege et al.: Orthogonal defect classification -- A concept for in-process measurements. In: IEEE Transactions on Software Engineering. Nr. 18, 1992, S. 943–956&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Root Cause Analysis ===&lt;br /&gt;
Wie bereits zu Beginn erwähnt, zählt die RCA zur Untergruppe der Ursachenanalyse eines Fehlers im Bereich [[Softwaretechnik]]. Die ODC-RCA zeichnet sich dadurch aus, dass sie im Vergleich zu anderen Methoden der Ursachenanalyse nicht nur wesentlich effizienter bzw. schneller, sondern auch genauer durchzuführen lässt. Dies ist auf die Strukturierung des jeweiligen Softwarefehlerfalls in Form der ODC-Attribute zur Opener und Closer Section zurückzuführen.&amp;lt;ref name=&amp;quot;Chillarege2&amp;quot;&amp;gt;Ram Chillarege: ODC - a 10x for Root Cause Analysis. 2006&amp;lt;/ref&amp;gt; Bei der praktischen Durchführung einer ODC-RCA werden die Werte zu den ODC-Attributen der Opener und Closer analysiert und ausgewertet. Durch die Betrachtung der ODC-Werte und miteinander verknüpfter ODC-Attribute kann der RCA-Durchführende eine potenzielle Fehlerursache genauer lokalisieren und bestimmen.&lt;br /&gt;
Trotz des Leistungsgewinns durch die ODC-RCA, ist das generelle Verfahren der RCA als relativ aufwendig und zeitintensiv einzuordnen. Aus diesem Grund sollte eine (ODC-)RCA möglichst durch einen erfahrenen [[Software-Entwickler]] und vorrangig für höher priorisierte bzw. relevante [[Softwarefehler]] durchgeführt werden.&amp;lt;ref name=&amp;quot;ODC2B1&amp;quot;&amp;gt;{{Webarchiv |url=http://www.odc2b.com/public/ODC_Concept/ |text=Archivierte Kopie |wayback=20131206221947 |archiv-bot=2019-05-05 12:08:04 InternetArchiveBot}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Statistical Defect Modeling ===&lt;br /&gt;
Im Gegensatz zur ODC-RCA, bei der lediglich ein einziger Softwarefehler genauer betrachtet wird, bezieht das SDM einen ganzen Bestand an ODC-Daten in die Auswertung ein. Beim SDM werden die Softwarefehler in ihrer strukturieren ODC-Form maschinell analysiert, indem entweder die ODC-Attribute der Opener und Closer Section zueinander oder mit anderen Determinanten, wie z. B. Entwicklungszeitraum, Produktkomponenten, Projekte usw., in Relation gesetzt werden. Die Ergebnisse dieser Auswertungen geben nicht wie die ODC-RCA Auskünfte über die Herkunft eines einzelnen [[Softwarefehler]]s, sondern stellen den IST-Zustand des [[Softwareentwicklungsprozess|Entwicklungsprozesses]] in Bezug auf Zuverlässigkeit und Qualität der jeweiligen Test- bzw. Entwicklungsphasen allgemein grafisch dar.&amp;lt;ref name=&amp;quot;ODC2B1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der ODC-Datenauswertung im Rahmen des SDM werden [[Diagramm]]e  oder auch so genannte [[Inferenzbaum|Inferenzbäume]] verwendet.&amp;lt;ref name=&amp;quot;Chillarege1&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;ODC2B2&amp;quot;&amp;gt;{{Webarchiv |url=http://www.odc2b.com/public/Beispiel_Chart/ |text=Archivierte Kopie |wayback=20131206221938 |archiv-bot=2019-05-05 12:08:04 InternetArchiveBot}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;ODC2B3&amp;quot;&amp;gt;{{Webarchiv |url=http://www.odc2b.com/public/Beispiel_Inferenzbaum/ |text=Archivierte Kopie |wayback=20131206223535 |archiv-bot=2019-05-05 12:08:04 InternetArchiveBot}}&amp;lt;/ref&amp;gt; Aufgrund der strukturierten Form des ODC-Datenbestandes können diese Charts und Inferenzbäume automatisch erzeugt und ausgewertet werden.&lt;br /&gt;
&lt;br /&gt;
== Schwierigkeiten bei der Verwendung von ODC ==&lt;br /&gt;
Da es sich bei der Fehlerklassifikation mit ODC um einen von Menschen durchgeführten Prozess handelt, besteht die Gefahr, dass aufgrund von unterschiedlichen subjektiven Auffassungen die Klassifikation eines Fehlers zu Unterschieden führt. Dies kann durch eine gezielte Anpassung der Attribute an die jeweiligen Umstände in der Entwicklung für die einzelnen Kategorien in der &amp;#039;&amp;#039;Opener&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Closer Section&amp;#039;&amp;#039; positiv beeinflusst werden. Daher sollten die einzelnen Attribute einer Kategorie [[orthogonal]] zueinander sein, um somit den Raum für eine etwaige Interpretation durch den Einzelnen gering zu halten.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Fehlerklassifizierung]]&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Ram Chillarege et al.&lt;br /&gt;
   |Titel=Orthogonal defect classification -- A concept for in-process measurements&lt;br /&gt;
   |Sammelwerk=IEEE Transactions on Software Engineering&lt;br /&gt;
   |Nummer=18&lt;br /&gt;
   |Datum=1992&lt;br /&gt;
   |Seiten=943-956&lt;br /&gt;
   |Online=[http://www.chillarege.com/odc/articles/odcconcept/odc.html Artikel]}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Ram Chillarege&lt;br /&gt;
   |Titel=ODC - a 10x for Root Cause Analysis&lt;br /&gt;
   |Datum=2006&lt;br /&gt;
   |Online=http://www.chillarege.com/archive/RamPapers/ODC-10x-RCA.pdf&lt;br /&gt;
   |Format=PDF&lt;br /&gt;
   |KBytes=}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Pankaj Jalote et al.&lt;br /&gt;
   |Titel=Using defect analysis feedback for improving quality and productivity in iterative software development&lt;br /&gt;
   |Sammelwerk=Proceedings of the Information Science and Communications Technology (ICICT 2005)&lt;br /&gt;
   |Datum=2005&lt;br /&gt;
   |Seiten=701-713&lt;br /&gt;
   |Online=http://www.cse.iitk.ac.in/users/jalote/papers/DefectPrevention.pdf&lt;br /&gt;
   |Format=PDF&lt;br /&gt;
   |KBytes=}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=M. Butcher et al.&lt;br /&gt;
   |Titel=Improving software testing via ODC: Three case studies&lt;br /&gt;
   |Sammelwerk=IBM System Journal&lt;br /&gt;
   |Nummer=41&lt;br /&gt;
   |Datum=2002&lt;br /&gt;
   |Online=[http://www.research.ibm.com/journal/sj/411/butcher.html Artikel]}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Klassifikationen]]&lt;br /&gt;
[[Kategorie:Fehlermanagement (Softwaretechnik)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Graph Pixel</name></author>
	</entry>
</feed>