Skip to Main Content
Today's software systems are 'systems of systems'. The semantic dependencies between software components are so complex that they can no longer be fully understood by a single person. Thus the engineering design paradigm known as 'divide and conquer' must be employed. Because of this, it is likely that logical incompatibilities (component-to-component or component-to-environment) will exist after the system is in service. A black-box analysis technique that studies how information flows (propagates) between software components is described. The technique forcefully corrupts the information that flows between components and observes what impacts the corruption had. By watching how corrupt information propagates, we isolate those components that cannot tolerate the failure of other components.