The invention is an improved integrated development environment (IDE). In
particular, the improved IDE comprises a text editor, a source code
analyzer, a rule database, and a solution database. The rule database
stores source code patterns that represent classes of bugs, while the
solution database stores source code patterns that represent
corresponding alternative source code that corrects the bugs. The source
code analyzer dynamically evaluates source code as a programmer develops
the source code in the text editor, periodically comparing source code
with the patterns in the rule database. If the source code analyzer
matches a pattern with any source code, the source code analyzer displays
the corresponding source code pattern from the solution database. The
source code analyzer further gives the programmer the option to select
the source code pattern from the solution database, at which time the
editor changes the source code to conform to the appropriate pattern.