Publication | Closed Access
Deriving a fault architecture from defect history
23
Citations
27
References
2003
Year
Unknown Venue
Software MaintenanceEngineeringComputer ArchitectureCode DecaysSoftware EngineeringSoftware AnalysisSoftware ArchitectureReliability EngineeringFault ProneFault AnalysisFault RecoverySoftware Architecture ModelingComputer EngineeringComputer ScienceAutomated RepairSoftware DesignArchitecture AnalysisProgram AnalysisFault ArchitectureSoftware TestingFormal MethodsSoftware Architecture RecoveryFault InjectionSystem Software
As software systems mature, there is the danger that not only code decays, but software architectures as well. We adapt a reverse architecting technique to defect reports of a series of releases. Relationships among system components are identified based on whether they are involved in the same defect report, and for how many defect reports this occurs. There are degrees of fault-coupling between components depending on how often two components are involved in a defect fix. After these fault-coupling relationships between components are extracted, they are abstracted to the subsystem level. The resulting fault architecture figures show for each release what its most fault-prone relationships are. Comparing across releases shows whether some relationships between components are repeatedly fault prone, indicating an underlying systemic architecture problem. We illustrate our technique on a large commercial system consisting of over 800 KLOC of C, C++, and microcode.
| Year | Citations | |
|---|---|---|
Page 1
Page 1