Model-based software diagnosis |
| |
Authors: | John Hunt |
| |
Abstract: | Software development is a complex process in which it is all too easy to introduce errors or faults that can be extremely difficult to identify . However , there has been little research into the use of intelligent diagnostic techniques for software ( as compared to hardware , for example ). Therefore , applying such techniques to software is potentially extremely useful . In many cases the presence of a bug is only identified when an invalid result is observed . However , the task of identifying the software elements that may have contributed to this result can be a time - consuming and tedious task , but must be performed before the actual root cause can be identified and a repair effected . This operation is akin to fault localization within hardware diagnosis and has been the subject of extensive research within the model - based community . This article presents a technique that minimizes the tedious task of fault localization with the software system , leaving the developer to concentrate on identifying the root cause and remedial action . In particular , we treat diagnosis as a trial with witnesses for the prosecution and defense . The result is a diagnostic trial that uses the source code of a system as its model and knowledge of valid and invalid results ( victims ) to identify a set of suspects for a developer to investigate further . |
| |
Keywords: | |
|
|