Abstract
In the field of legacy software maintenance, there unexpectedly arise a large number of implicit coding rules - which are seldom written down in specification documents or design documents - as software becomes more complicated than it used be. Since not all the members in a maintenance team realize each of implicit coding rules, a maintainer who is not aware of a rule often violates the rule while doing various maintenance activities such as adding new functionality and repairing faults. The problem here is not only such a violation causes injection of a new fault into software but also this violation will be repeated again and again in the future by different maintainers. Indeed, we found that 32.7% of faults of certain legacy software were due to such violations. This paper proposes a method for detecting code fragments that violate implicit coding rules. In the method, an expert maintainer firstly investigates the causes, situations, and code fragments of each fault described in bug reports; and, identifies implicit coding rules as much as possible. Then, code patterns violating the rules (which we call bug code patterns) are described in a pattern description language. Finally, potential faulty code fragments are extracted by a pattern matching technique.
Original language | English |
---|---|
Number of pages | 1 |
Publication status | Published - Dec 1 2002 |
Externally published | Yes |
Event | Fifth International Workshop on Principles of Software Evolution IWPSE 2002 - Orlando, FL, United States Duration: May 19 2002 → May 20 2002 |
Other
Other | Fifth International Workshop on Principles of Software Evolution IWPSE 2002 |
---|---|
Country/Territory | United States |
City | Orlando, FL |
Period | 5/19/02 → 5/20/02 |
Keywords
- Code inspection
- Fault report
- Legacy software
- Pattern matching
- Software maintenance
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Modelling and Simulation
- Computational Theory and Mathematics