Patent ID: 7818723

Claim:
A computer-implemented method residing in a computer-readable medium and to execute on a computer for performing the method, including: identifying, via a graphical user interface (GUI), a multithreaded application, the multithreaded application is a multiple and duplicate instance of a second multithreaded application, the multithreaded application and the second multithreaded application concurrently process at a same time and within a same execution environment competing for or sharing memory and processor resources with one another within that same execution environment; receiving, via the GUI, a selection for an antipattern test from a library of available antipattern tests via a template; presenting, via the GUI, the template and displaying within the GUI sample code that illustrates problems that the antipattern test is designed to detect; defining, via the GUI and within the antipattern test conditions or patterns for identifying the problems in the multithreaded application; associating, via the GUI, the antipattern test with antipatterns occurring with multithreading and within the multithreaded application, and the problems include at least some conditions or patterns that identify when the multithreaded application produces a wrong output or produces no output; determining, via the GUI, an analysis tool in response to the selection; processing, via the GUI, the analysis tool against the multithreaded application for the antipattern test for purposes of detecting coding deficiencies in the multithreaded application as defined by the antipattern test and at least one deficiency related to incorrect output produced by the multithreaded application, and processing includes: parsing the template associated with the antipattern test for a definition field that identifies the conditions or the patterns that the analysis tool attempts to match within the multithreaded application, processing also includes at least one of: sequentially scanning, by the analysis tool, the multithreaded application for the conditions or the patterns included in the definition; and parsing, by the analysis tool, the multithreaded application in a context-sensitive manner to detect the conditions or the patterns included in the definition; and simultaneously presenting within the GUI the selected antipattern test, the library of available antipattern tests, an identifier associated with the analysis tool, and results associated with the processing of the analysis tool.