Patent ID: 7562344

Claim:
A system for providing real-time developer feedback in an integrated development environment, comprising: a computer device executing a source code editor; a feedback repository in communication with the computer device, the feedback repository storing a programming language construct database, a developer profile database, and a general database; and a lexical analyzer executing on the computer device and in communication with the source code editor, the lexical analyzer providing real-time developer feedback by performing a method, comprising: parsing code entered into the source code editor by a user of the computer device, the code parsed into constructs as the code is typed into the source code editor; using the constructs to search the programming language construct database to determine a programming language used in entering the code, the programming language construct database storing programming language constructs for each of a plurality of programming languages used in the integrated development environment; using the programming language to search the programming language construct database to determine a construct type of the constructs; searching a developer profile database for a developer profile of the user for the construct type, the developer profile storing a frequency of occurrence for constructs historically entered by, and specific to, the user in which an error occurred; and in response to a hit resulting from the search of the developer profile: determining a frequency of occurrence of the construct type associated with the hit; identifying a visual cue assigned to the frequency of occurrence of the construct type and delivering the visual cue to the computer device, the visual cue displayed on a computer screen window in which the code entered by the user is displayed; retrieving information relating to the construct type from the general database that includes tips about errors associated with the construct type in order to avoid making the errors; and displaying the information on the computer device; wherein frequencies of occurrence are categorized by high frequency, medium frequency, and low frequency, the frequencies of occurrence defined by members of the integrated development environment via the lexical analyzer.