Talk:List of tools for static code analysis/Archive 1

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Archive 1 Archive 2


I've rendered the C# tool in a table format as an example. The columns chosen aren't definitive, if you can think of more relevant ones then please add them. If/when we get it 'right' we could do the same for the other language tools. Have a look at the tables on this page to see where we could go with it.--Hooperbloob 02:41, 15 June 2006 (UTC)


valgrind doesn't provide static analysis, does it? You have to actually run the executable. Then it should be removed. --Nephtes 18:09, 28 August 2006 (UTC)


Several tools in the Visual Basic category don't seem to support Visual Basic, but C# or C++.

Good eye! Be Bold, move the entries to the correct category and remark in your edit summary what you changed and why. Oorang (talk) 21:30, 24 March 2008 (UTC)


The CPD portion of PMD works on other languages besides Java (C, C++, PHP, etc). How should it be listed in those categories? --Dmulter (talk) 06:16, 11 June 2009 (UTC)

Company or product page link should not be required

This list should include commercial tools for which there is no Wikipedia page. When the list was trimmed to exclude such tools, several significant tools disappeared (GrammaTech, Klocwork, and PolySpace, for example). If this list is to contain commercial tools, the omitted tools should be included because they are as significant as the ones that appear. Requiring the creation of pages that describe the manufactures does not seem useful. Some people would consider the Coverity, LDRA_Testbed, and Programming_Research pages to be spam. Why should having pages like these determine whether a tool is on the list or not? —The preceding unsigned comment was added by (talk) 23:50, 31 January 2007 (UTC).

Wikipedia is NOT a directory! We are not yahoo or other links directories, so we should restrict only to some important or notable programs. For this reason we enforce the rule: A program without an own article is not enough notable for WP. It is a strict rule, but we need such rule. If we don't follow such rules, this page will be deleted (see previous deletion of this page and related un-deletion request), and we think that a page with only internal link is a lot more useful of an inexistent page. If you consider spam the pages above, you could propose for deletion, with spam tag (see WP:AfD for the procedure and for the notability requirement). Cate | Talk 14:44, 1 February 2007 (UTC) is correct; see the “This page in a nutshell” section of WP:Notability, not to mention WP:Notability#Notability_guidelines_do_not_directly_limit_article_content.
FlashSheridan 16:26, 20 October 2007 (UTC)

History broken ?

Hi there, I would like to retrieve an earlier version of this page (summer 2006), but the history seems to be broken. Could you fix this ? —Preceding unsigned comment added by Bmerkle (talkcontribs)

The old page was deleted, with the history. If you really need it, you should ask to Wikipedia:Deletion review, section: history only undeletion. Cate | Talk 13:58, 13 February 2007 (UTC)
I realize the above discussion is old, but I have just made such a request (history-only). Under the grounds of WP:RUBBISH and WP:LOSE. -Verdatum (talk) 16:54, 7 December 2007 (UTC)
Request was granted. History is returned. On to cleanup! -Verdatum (talk) 15:19, 12 December 2007 (UTC)

Old more-complete copy of this page available

It's regrettable that the history of this page was deleted - it was useful (if you need or want these types of tools), so I've got a copy of it in my user-space as it was at November 2006 at User:Nickj/List of tools for static code analysis. To me it's a quite dubious argument that the new shorter more-incomplete version of the same thing is somehow qualitatively better than the old version was. If there is a consensus objection to me using my user-space in this way, then I'll be happy to move the list off-site. And of course, anyone is welcome to update the list as long as they do constructively. -- All the best, Nickj (t) 03:55, 15 February 2007 (UTC)

I agree, the list was a useful source of information. Why not create a "External links" subsection and add the list you have at that point. I think the editors were over zealous in removing the existing page. Derek farn 11:54, 15 February 2007 (UTC)
I agree, but unfortunately WP:USEFUL suggests that usefulness is not necessarily Wikipedia's primary goal. There is especially a problem with software articles, because the most useful software tends to be very new, and thus much is not yet notable or covered in reliable sources we can cite. In short, a lot of useful stuff tends not to be encyclopedic. Therefore, software enthusiasts have set up a number of their own wikis with different criteria for inclusion than Wikipedia's. This is not to suggest abandoning Wikipedia, but augmenting it with additional wikis for content that is useful but not sufficiently encyclopedic for Wikipedia. See for example wikiindex:Category:Software. --Teratornis 22:58, 30 August 2007 (UTC)

List cleanup

Referencing the comment above, this page must maintain a standard to define what is and is not appropriate for this list. It is not true that each entry requires it's own page (if that were the case, this would probably be appropriate as a category), effort should be made to support that each tool is in fact within the relm of "notable tools for static code analysis." as the lead sentence declares. Just describing what the tool does or is used for is not sufficient. For each external link a reliable reference should be given to support each tool's notability should be given, or in the least each link should be added with the belief that such a reference exists, but has not yet been found (yes, this last point is probably arguable). Internal links should not need to establish notability, as the article's existence implies notability. Constant vigil must be maintained to insure that this page does not revert to a linkfarm, and continues (or begins) to follow Wikipedia guidelines. Comments appreciated, thanks! -Verdatum (talk) 17:18, 7 December 2007 (UTC)

As noted above, the referenced comments were shown to be incorrect; see the “This page in a nutshell” section of WP:Notability, not to mention WP:Notability#Notability_guidelines_do_not_directly_limit_article_content. I’ll correct the text to reflect the title.
FlashSheridan (talk) 22:36, 16 December 2007 (UTC)
Sorry I didn't notice this comment. I'm reverting the lead section because of WP:SAL#Lead and selection criteria. I'm not at all opposed to modifying the selection criteria for this article, but at least something needs to be there. -Verdatum (talk) 14:27, 4 January 2008 (UTC)
Good point about WP:SAL, but the one criterion that’s not being used is notability. (In both directions; there's been repeated censorship of demonstrably notable tools.) I didn’t start the page, so I’m not sure what the criterion was originally meant to be; I’ll change it to “significant,” subject to a better suggestion.
FlashSheridan (talk) 00:58, 5 January 2008 (UTC)

Does Checkstyle belong?

CheckStyle's main focus is not static code analysis but rather enforcement of coding styles. Some code conventions may include removing things that could potentially cause defects, but this is more of a side effect. Checkstyle generates an AST of the source code [1], which precludes many sophisticated tests such as flow analysis. Edgriebel (talk) 16:16, 24 April 2008 (UTC)

I'm inclined to say no and distinguish static analysis from enforcement of coding styles; though there's a lot of overlap, of course.
FlashSheridan (talk) 22:20, 28 May 2008 (UTC)

Why do not delete this page?

The page was marked for deletion. I strongly disagree with this intent for the following reasons:

  • The list was rather comprehensive (I believe it covers around 80% percent of the available tools)
  • I didn't find any list on the internet which has similar quality (amount of listed tool; up-to-date)
  • There is small amount of information available on base you decide objectively which product is "non-notable"
  • Hard to improve such list especially the commercial tools: no technical details available; you have to sign NDA contract on they efficiency (CodeSonar); etc.
  • Open-source tools are interesting from research aspect even if they are unmaintained
  • I understand that usefulness is not a criterion, but it is quite encyclopedic in a sense of “known SA tools during the history”; shall we add date of appearance?
  • Requiring reliable source in a field in which the scientific literature also references to BLOGs is little odd. See as an example the following paper:

Nathaniel Ayewah, William Pugh, J. David Morgenthaler, Penix, YuQian Zhou (2007). Evaluating static analysis defect warnings on production software. San Diego, California, US: ACM. pp. 1––8. doi:10.1145/1251535.1251536. ISBN 978-1-59593-595-3.  Unknown parameter |address= ignored (|location= suggested) (help)

--The.gaboo (talk | contribs) 21:48, 30 October 2008

I would argue that a (almost) complete list should be hosted elsewhere, and and an external link provided on this page. The content of this page should reflect Wikipedia's mandate, which as mentioned in previous talk posts, does not include being WP:USEFUL. --AlastairIrvine (talk) 02:50, 30 December 2009 (UTC)


Wondering why the link to grammatech was deleted in the most recent set of updates? That link was good, not spam and the tool does provide static analysis. -- (talk) 17:09, 18 November 2008 (UTC)kae

No EXTERNAL LINKS per WP:NOT#DIR, okay? Also per WP:EL guideline and the DRV review of this page. See the top of this page discussion. Any external links, I'll remove it immediately. Dekisugi (talk) 09:34, 19 November 2008 (UTC)
Nowhere under WP:NOT#DIR does it say "No external links". If you read WP:SAL, external links, and/or entries for which an article does not currently exist are acceptable in certain situations. The issue I believe at hand is, This page was not a linkfarm, it was not a list of webpages, it was a list of actual products that, for convenience, happened to link to the product's home page. Just because a topic does not have a WP article does not mean it's non-notable. And regardless, neither Notability nor the existence of an article on WP is given as inclusion criteria at this time. The criteria currently stated is "Signifigant". So if you ask me, the solution is to require any entires not possessing an article on WP to include a reference supporting the fact that it is "signifigant". -Verdatum (talk) 11:06, 19 November 2008 (UTC)
External links are only appropriate in the External Links section and they can only be there to provide additional information that cannot be present in the body of the article. Direct external links in the text are not appropriate and most of them are commercial links. This article has been deleted because it turned out to be a spam link farm. Please read the DRV. For list articles, they only can contain internal links to wiki articles. Please read again the external links policy. Dekisugi (talk) 00:52, 20 November 2008 (UTC)
You're saying that Just because a topic does not have a WP article does not mean it's non-notable.. You are wrong. If there's no article for a certain software product, then it's not notable yet. Dekisugi (talk) 00:54, 20 November 2008 (UTC)
Could you back up your claims with guidelines and policies? I'm not familiar with most of these rules you are providing. From WP:EL there is no statement that external links are not allowed in the main body of the article. The only quote on the matter is: "If an article has external links, the standard format is to place them in a bulleted list under a primary heading at the end of the article." This statement is a rather soft reccomendation, not a guideline. In this case, the concensus I percieve is that people coming to this article wishing to learn about the various tools that exist for static code analysis feel the article is better for having direct links within the entries.
From WP:SAL, "Each entry on a list should have its own non-redirect article in English Wikipedia, but this is not required if the entry is verifiably a member of the listed group, and it is reasonable to expect an article could be forthcoming in the future. The one exception is for list articles that are created explicitly because the listed items do not warrant independent articles" In other words, redlinks are fine when reasonable, and so are items that do not warrant independent articles in select cases.
I've not only read the deletion discussion, but I used it to petition an undelete of the history so that previous elements could be re-added where appropriate.
Wikipedia is not, and never will be finished. Because of thise, plenty of notable topics do not have articles. I do not know what definition of "notable" you're using, but topics in this universe have been notable long before the existence of Wikipedia. You create an article in WP because a topic is notable. If topics without articles were not notable, then by that circular logic, no new articles could ever be created. So we're all on the same page, the definition of "notable" that I tend to use is "a topic is notable if it satisfies WP:GNG".
Once again, notability does not govern content, only the criteria for article creation. Items on this list merely need to be "signifigant" and indeed be a tool for static code analysis. If evidence of signifigance is not provided for an entry, then I'm fine with that entry being deleted. -Verdatum (talk) 17:54, 20 November 2008 (UTC)
Look Verdatum, it's simple. This is a list of software products. When you cannot establish a separate wikipedia article for the product, it does not pass WP:N guideline per Wikipedia comunity consensus. You have to pass this policy first. By adding a direct link to an external website here, your act is similar with spamming. Create an article first, then link it from here. Simple, right? Before that, I'll keep reverting. Dekisugi (talk) 07:13, 30 December 2008 (UTC)
All I'm asking is for you to show me where it says "A topic is Notable if and only if it has an article on Wikipedia". I'm fairly confident that you are mistaken about this. No part of WP:N or any other policy or guideline implies that any topic that does not have an article on wikipedia is not considered "Notable". If that was the case we could just have a guideline that redlinks are forbidden. You are further mistaken that topics must be Notable in order to be on this list. They merely need to be "significant". Further, "spamming" refers to including unsolicited advertisement. This is not unsolicited, as readers are coming here trying to learn more about the significant tools in existence, and only indirectly an advertisement. Providing the link is done as a specifier to designate it apart from other similarly named products and to save the trouble of a Google search. In other words, allowing them for significant tools that do not currently have WP articles improves the quality of article. This means it is covered by WP:Ignore All Rules and if I'm not mistaken, quite a few other policies and guidelines. -Verdatum (talk) 16:33, 31 December 2008 (UTC)

I received a message from Verdatum to take a look at this page. I'm actually going to agree with Dekisugi on this one, though.From what I gather of stand-alone list pages, the articles are merely lists of Wiki articles, and not external links. It comes off as somewhat of an advertisement if not linkspam to have a page consisting largely of external links. The SAL criteria says: "Stand-alone lists are Wikipedia articles, and as such are equally subject to Wikipedia's content policies such as Verifiability, No original research, Neutral point of view, and others." Since the articles must pass Wiki rules - including those on external linking - it would seem that external links don't belong in a list like this.

I've been looking at other standalone list articles like List of mathematics articles (0-9), List of cat breeds, and List of social networking websites, and they all have internal links only. Actually that last one, the social networking list, is particularly interesting, as you'd think that that page could be a target for linkspam - but it's not. It's kept only to other Wiki pages. Editors over there keep removing links that aren't notable. Look at this edit. Part of the edit summary is "editors are encouraged to WP:WTAF". That essay, WP:WTAF, says it all: "Editors are encouraged to write the article on a given subject BEFORE adding a link to the article to list pages..." I think that covers this. — HelloAnnyong (say whaaat?!) 17:19, 31 December 2008 (UTC)

Wrong, we settled this last time. This time, even your own quotation says “encouraged.”
FlashSheridan (talk) 17:36, 4 February 2009 (UTC)

CP Miner

Why was CP miner deleted in this change? Is it because there is no wikipedia article for "CP Miner"? How could I (or anyone) know that prerequisite for inclusion in the article? iow By whom is the policy agreed, does it apply only to this page, where documented, why, etc.? --Collinpark (talk) 20:21, 18 November 2008 (UTC)

No EXTERNAL LINKS per WP:NOT#DIR, okay? Also per WP:EL guideline and the DRV review of this page. See the top of this page discussion. Any external links, I'll remove it immediately. Dekisugi (talk) 09:34, 19 November 2008 (UTC)
So are you going to delete all the red ink and external links under, say, List_of_programming_languages_by_category#Aspect-oriented_languages? --Collinpark (talk) 20:10, 19 November 2008 (UTC)
Thank you for pointing that. I removed only the external links there. Red links for programming language are different than software products. Dekisugi (talk) 01:06, 20 November 2008 (UTC)
Collinpark, see my response to the above section, but these type of articles are generally guided by Wikipedia:Stand-alone lists (WP:SAL) which suggest stating a specific "inclusion criteria" in the lead section of the article. The current selection criteria is "significant". Exactly what "significant" means in this context is certainly arguable, and you're welcome to either argue for or against an entry or potential entry's significance, or propose an alternative selection criteria. -Verdatum (talk) 11:11, 19 November 2008 (UTC)
Thank you Verdatum; this is helpful. --Collinpark (talk) 20:10, 19 November 2008 (UTC)
WP:SAL provides list of internal links, not external link farm. Wikipedia is not a yellow page. You know that there is a place for that? Please go to dmoz. There you can add any external links you want, but not in Wikipedia. We are an editor of an encyclopaedia, not a spammer. Dekisugi (talk) 01:06, 20 November 2008 (UTC)
Very well, let us go into specifics. The wording on [[WP:NOT#LINKS]: "(Wikipedia articles are not) Mere collections of external links or Internet directories. There is nothing wrong with adding one or more useful content-relevant links to an article; however, excessive lists can dwarf articles and detract from the purpose of Wikipedia. On articles about topics with many fansites, for example, including a link to one major fansite may be appropriate. See Wikipedia:External links for some guidelines." This is not a list of random fansites, this is not a mass of "for more information check out the following block of pages I happen to like" these are specific links to specific products. These are "useful content-relevant links" The list does not dwarf the article, because the article is itself a Stand-alone list.
"(Wikipedia articles are not) Mere collections of internal links, except for disambiguation pages when an article title is ambiguous, and for lists to assist with article organisation and navigation; for these, please follow the guidelines outlined at Wikipedia:Lists#List content." Again, no problems here. no wording about "internal links only here or anywhere else".
From WP:NOT#DIR, "(Wikipedia articles are not) Directories, directory entries, electronic program guide, or a resource for conducting business. For example, an article on a radio station generally should not list upcoming events, current promotions, phone numbers, current schedules, et cetera, although mention of major events, promotions or historically significant programme lists and schedules (such as the annual United States network television schedules) may be acceptable. Furthermore, the Talk pages associated with an article are for talking about the article, not for conducting the business of the topic of the article. Wikipedia is not the yellow pages." This is not a resource for conducting business, it's a listing of tightly associated products. Directories list information on companies, the links in question here list information on the homepages of specific products. It is providing readers with the best source of information related to a product.
"spam" refers to an unsolicited sales-pitch. I do not believe that reporting that a product exists within a list of a specific category of products is spam. The other aspects of WP:NOT#DIR and WP:NOT#LINKS are entirely unrelated. So what specific part of WP:NOT was this article conflicting with? -Verdatum (talk) 18:23, 20 November 2008 (UTC)

Commercial tools

There is a contradiction between what is posted and what Wikipedia is allowing. Some administrators such as Dekisugi claim that there should be a link to am article, but all of those so called articles are actually links to commercial companies pages, and are some sort of advertisement and prohibited by Wikipedia(some have warning on their page). I posted the Checkmarx brief, which is a great Source Code Analysis tool and should be on this list, and i haven't linked it to a Checkmarx page, since, being a commercial company, should not really have a page on Wikipedia. BTW - HP DevInspect is also a SCA tool and is being erased for not being linked to an "article". All those "articles" by Fortify, Ounce, Coverity and so on, are actually ADVERTISEMENTS ! I ask the admins not to erase legitimate commercial tools since they are not linked to an advertisement page. Thanks 15:25, 13 December 2008 (UTC) —Preceding unsigned comment added by (talk)

Hello IP user. Please look again the text you have inserted there. Any blue links there? Nope. So there is no Wikipedia page for that particular products you wrote here. What does it mean? It means that those products have not yet reached Wikipedia notability standard. What we have in this page is a list of notable products, which means that every list items in this list page have their own Wikipedia page. So please do understand this policy. Wikipedia works on verifiability policy. Your contributions of listing those products here cannot be verified. As simple as that. Oh one more thing: I'm not an administrator. Dekisugi (talk) 15:50, 13 December 2008 (UTC)

Hello. Please visit all those "articles" you're mentioning. they all have "This article may require cleanup to meet Wikipedia's quality standards / This article is written like an advertisement" warnings. A commercial tool cannot be referred to the vendors page, since it will always be considered advertisement. So, what you are doing is erasing legitimate HP and Checkmarx listings of tools, and encouraging prohibited links. I cannot understand your logic. I have filed a Wikipedia:Third_opinion, but until then, do not erase our listing and stop promoting commercial pages. —Preceding unsigned comment added by (talk) 17:39, 13 December 2008 (UTC)

Hello IP user. Can you really check links in this article that you claimed are linking to commercial pages? All items in the list link to Wikipedia page, and that's what the WP:LIST page is. You should know the difference between internal links and external links. All items in this page must have internal links to a Wikipedia page. That's how notability of a software product is established. Not by putting non-existed Wikipedia page in here. Your action is what is called a spamming. And who's promoting commercial pages???? You are the one who insisted to insert a product in here. Not me. Dekisugi (talk) 17:51, 13 December 2008 (UTC)

Hello Dekisugi. I am referring to internal links. Please go to this link and tell me what do you see? ( Is this a legitimate article, or is it marked ADVERTISEMENT ? surely I would like HP and Checkmarx to be on that list since it is the Commercial Products section. In any case, I would like a third opinion about that. —Preceding unsigned comment added by (talk) 07:39, 14 December 2008 (UTC)

Hello IP user. All Wikipedia articles are legitimate, because they have passed WP:CORP. If you don't find it legitimate, then you can always put it in WP:AfD. What is not legitimate is your action. You are spamming your own product here, which is not notable. So please STOP and do please register. Dekisugi (talk) 07:58, 14 December 2008 (UTC)

Do you have any anti-Checkmarx agenda? Why are you attacking Checkmarx on every page you can? It's a commercial company that offers SCA technology. You are attacking us on the Commercial list of tools, now on a modest technology page. What is the problem? I don't see you attacking other vendors' pages such as Coverity, Fortify, OunceLabs, Klocwork and others. They are all listed on the list of tools page, they are all "advertising" articles, which are no more than commercial pages, so why this prosecution of Checkmarx? (09:49, 14 December 2008 (UTC)) —Preceding unsigned comment added by CxQL (talkcontribs)

Third opinion: I see that the Checkmarx page has been created so I'm assuming that this issue on this is fairly closed. On the other hand, I'm concerned about the CxQL page as being potentially non-notable and a WP:COI, given that User:CxQL's page mimics the text on the mainspace article. But whatever, it's being covered. If you guys need my help, feel free to send me a message. — HelloAnnyong (say whaaat?!) 18:13, 18 December 2008 (UTC)


Why was my Spec# entry deleted? Spec# should be listed here. Borishollas (talk) 15:30, 20 March 2009 (UTC)

EL links in mainspace

FlashSheridan, there shouldn't be an external link to Clang on this page. This article cannot turn into just a linkfarm or a place to advertise, so we need to have some criteria for what gets included and what does not. So perhaps you'd like to explain what your edit comments of "Correct ill-informed cleanup; LLVM is infrastructure" and "LLVM is not a static analyzer. (WP:ELNO IMO does not apply, but that's secondary.)" mean. If LLVM isn't a static analyzer, then it too should not be included on this list. — HelloAnnyong (say whaaat?!) 13:53, 24 May 2009 (UTC)

My edit comments are self-explanatory if you know the subject matter. If you don’t know the difference between LLVM itself (which your edit claims is a static analyzer) and the related but distinct Clang Static Analyzer, then it’s not surprising that your ill-informed edit (like the other ill-informed cleanup on this page) resulted in a falsehood which I had to clean up.
Your claim about ELO and ADVERT are IMO incorrect but are clearly secondary; I’ve been over similar issues on this page before and don’t propose to repeat myself.
FlashSheridan (talk) 16:16, 24 May 2009 (UTC)
You really need to be a little civil here. I'll be opening a 3O on this. Oh, and don't edit other people's comments, including the header. — HelloAnnyong (say whaaat?!) 16:45, 24 May 2009 (UTC)
For the person giving a 3O, the edit in question is this one - specifically whether or not there should be a link to an external site for Clang. — HelloAnnyong (say whaaat?!) 16:47, 24 May 2009 (UTC)

<--Third Opinon - A third opinion was requested at the project page WP:Third opinion. I am here to provide an opinion in accordance with Wikipedia policies and guidelines that will encourage the formation of consensus and help us all to produce a better encyclopedia.

Working It may take some time to review your discussions, check for sources (if necessary), review the aforementioned policies and guidelines and write the opinion. I will post my opinion here shortly, but in the meantime please continue a constructive debate. Bigger digger (talk) 18:51, 25 May 2009 (UTC)

A little bit above WP:ELNO is WP:ELPOINTS. It states that External links should not normally be used in the body of an article. If a link to Clang was required, it should be to the wikipedia article for it, as per the consensus embodied in the rest of the page. Therefore the link shouldn't be in the list itself. There is also no need to include an external link to clang, as per WP:ADVERT and then WP:ELNO. If there's a problem with the definition of LLVM and static analyzers I suggest User:FlashSheridan finds sources to support his edit.
Finally, Flash, yyou've been on WP longer than me and made more edits but it seems you have missed WP:CIVIL along the way. I presume you're here to improve the encyclop(a)edia and get along constructively with our fellow editors but they're right to point out your incivility, both here and on your talk page. Edits like this are not helpful and make you come across as petty. Sorry, but it needed saying. Cheers, Bigger digger (talk) 19:19, 25 May 2009 (UTC)

LLVM is not itself a tool for static analysis. Clang is the C/C++ compiler for LLVM. "LLVM/Clang static analyzer" is a tool for static analysis that is developed in conjunction with Clang. Until sources are provided that suggest otherwise, LLVM/Clang static analyzer does not appear to meet the inclusion criteria for this list (regardless of my opinions of that criteria). -Verdatum (talk) 19:42, 26 May 2009 (UTC)

I think you're entirely incorrect about this (Clang's status, anyway, not the external link issue). Per, "The Clang Static Analyzer consists of both a source code analysis framework and a standalone tool that finds bugs in C and Objective-C programs. ... Both are 100% open source and are part of the Clang project." Obviously you've decided that you're going to use 'Clang' only to refer to the "new C, C++, Objective C and Objective C++ front-end for the LLVM compile", for whatever personal reasons. In summary, you're denying a listing for a static code analysis tool because you don't like a project's naming conventions.
Also from the clang-analyser page (emphasis mine):
As its name implies, the Clang Static Analyzer is built on top of Clang and LLVM. Strictly speaking, the analyzer is part of Clang
Under "What is Static Analysis?" they make it clear that the analyser looks at source code and does not perform runtime analysis.
So, in summary: piece of software analyses other software for bugs by being given the source code, doesn't run it. Is hosted on the LLVM site, states there that it is "part of Clang". You assert that it isn't. If you are correct, can you explain why its own website, the same website that hosts what you call Clang, says that it is? (talk) 18:45, 17 August 2009 (UTC)
I think you misunderstood me. Neither "Clang" on it's own, nor "LLVM" belong here; neither refer to static analyzers. "Clang static analyzer" potentially could belong here, but there would need to be evidence that it supports the inclusion criteria set forth for this particular list. This can be done by having a specific Wikipedia article devoted to it (Clang Static Analyzer doesn't, Clang and LLVM do), or by showing that the Clang Static Analyzer is discussed in-depth by independent reliable third party sources.
Alternatively, we could discuss altering the inclusion criteria. I'm personally in favor of a more open criteria; particularly for non-commercial projects. -Verdatum (talk) 21:41, 17 August 2009 (UTC)
So if we did reevaluate inclusion criteria, what would you use to determine whether or not a project gets added? This article can't just turn into a WP:LINKFARM. — HelloAnnyong (say whaaat?!) 21:46, 17 August 2009 (UTC)
Sorry, posting from multiple sites, I'm also There aren't two of us, just one. I don't think I misunderstand you, you said explicitly "Clang is the C/C++ compiler for LLVM", then referred to the Clang Static Analyzer as a tool that is merely "developed in conjunction with Clang". However, its own site — which is also the thing you recognise as Clang's own site — explicitly states that the static analyser is not a separate product, but is itself part of Clang. I think it's worth establishing that you're wrong about that irrespective of whether you accept that what they think is static analysis is what you're willing to agree is static analysis and whether Clang's static analyser is sufficiently notable for this list. They're separate issues, but it's impossible to discuss the latter if you won't accept the former. (talk) 09:44, 18 August 2009 (UTC)
Seems like Apple may have announced that the Clang Static Analyzer will be integrated into their Xcode IDE/tool suite during WWDC 09 (though all I have to back that up right now is a blog post). Supposing an authoritative source can be found for that, can we agree that would push Clang past the notoriety threshold for inclusion on this list? (talk) 10:01, 18 August 2009 (UTC)
If a reliable source said that Clang was officially supported by Xcode that might ensure notability. Marc Hoffman's blog post was written during Apples's World Wide Developer Conference in June 2009. The author suggested that the new Xcode was still under non-disclosure. Until the non-disclosure period ends, it's unlikely that the same info will be confirmable from any reliable sources. Maybe Apple will announce it publicly when Snow Leopard comes out in a few weeks. EdJohnston (talk) 15:58, 18 August 2009 (UTC)
Anon, if it makes you happy, fine. Clang is not just a compiler as I had previously stated. It's a full set of libraries. Clang's wording on the status of clang static analyzer is muddy since it claims to be both "built on top of Clang and LLVM", and to be "part of Clang". Perhaps it could be better said that it's built on top of the clang parser. I don't believe I ever claimed that clang static analyzer was not a static analyzer; nor claimed that it was not a static analyzer based on this article's definition; merely that it didn't meet this particular list's current inclusion criteria. So I should think that time is much better spent finding sources like the above Apple post, than pausing to settle an argument on semantics. -Verdatum (talk) 22:20, 19 August 2009 (UTC)
Actually, things are suddenly a bit more complicated. A static analyser has appeared in Xcode 3.2 (ie, the version distributed with the latest version of the OS), but I can't yet find any explicit evidence that it is clang. Though it'd be a terribly huge coincidence if it wasn't, given that the compiler options are now GCC, GCC/LLVM or Clang/LLVM. Will try to find the smoking gun, then update the article. — (talk) 20:09, 1 September 2009 (UTC)
Further to the above, I've found the text "The technology that powers the Xcode static analyzer is part of the Clang open source project." at the end of the official Apple document, Static Analysis in Xcode, which I feel is an authoritative source that Clang provides static analysis, and a sufficiently notable deployment of its technology to push it past any unstated notoriety test for this article. So I've readded it, with a note that it is included with Xcode. That one page demonstrates only Objective-C usage, so I've not added it under the C heading yet. Will look for further evidence. — (talk) 14:34, 3 September 2009 (UTC)

Big undo

I undid a set of edits by (talk · contribs · WHOIS) for a number of reasons. First, it broke the agreement we have for inclusion, and that we link to articles and not external links. We're not a link farm after all. Second, the user wrote that they "ordered [the languages] by popularity". What does that even mean? That's totally based on one person's interpretation, and we're not going to do that - if nothing else, it's a violation of WP:LIST. — HelloAnnyong (say whaaat?!) 12:43, 25 November 2009 (UTC)

Cleanup and cppcheck

I've just gone through and removed all tools that are not notable. For the purposes of this page, we define "notable" as whether or not the tool has a standalone article. This article is not going to become a linkfarm nor a directory. — HelloAnnyong (say whaaat?!) 04:15, 16 December 2009 (UTC)

Why should anyone open a stub article just to make something notable? If google gives 9,240 results for "Cppcheck C/C++" then is the tool notable or no? (talk) 14:39, 12 April 2010 (UTC)

Hey Annyong. Please refer to the last question. There are a lots of people using cppcheck and it is of course notable. For your interest : . This is a list of only a few found bugs using cppcheck in several open source projects. Since cppcheck is fully open source i would strongly recommend to mention it on this page. If you think the list of tools is going to be too long. Remove one of the commercial tools, because Wikipdia is no place for advertisement!!! I am waiting for your response. —Preceding unsigned comment added by (talk) 13:00, 24 July 2010 (UTC)

Okay. This article is considered to be a stand-alone list. That means that the article is almost completely just a list of items. For standalone lists, the threshold of inclusion on such articles is that the item in question is notable - that is, it has its own article. This is done so that the article doesn't become a really easy place to advertise your product, and so that the list doesn't become just a list of external links. Indeed, Wikipedia is not just a collection of external links. So that's why Cppcheck doesn't get included in the list: because it doesn't have its own article.
Further, I don't ever expect cppcheck to have its own article. The primary criteria that needs to be met on an article is significant coverage in multiple reliable sources. This is usually done with news or magazine articles, or textbooks or books or something. I've looked around fairly extensively and have found nothing that covers cppcheck - and therefore I don't expect to see an article about it. Maybe that can change, I don't know. Either way, you guys regularly including a link to cppcheck here is unacceptable for the above reasons. — HelloAnnyong (say whaaat?!) 14:04, 24 July 2010 (UTC)

Is {{Unreferenced}} warranted?

Since this article is a list of other articles, I propose to remove {{Unreferenced}}.--AlastairIrvine (talk) 07:05, 30 December 2009 (UTC)

Yeah, I think that'd be okay. — HelloAnnyong (say whaaat?!) 12:39, 30 December 2009 (UTC)
Just removed it again. AliveFreeHappy (talk) 00:31, 10 September 2010 (UTC)

Yet another question of notability

We have had this discussion here time and time again. In order to stop this article from becoming a linkfarm and a spot for advertisement, as well as an application of the guideline for selection criteria for standalone lists, we have set up criteria for justification: there must be an article for every tool listed here.

Based on this, I'm going to undo Wikieditoroftoday's edit. As a side note, adding external links in references is a way around this and is an inappropriate way of referencing. — HelloAnnyong (say whaaat?!) 01:18, 2 February 2010 (UTC)

Then the List should be named "List of static code analysis tools with wikipedia articles". This way the List is not only useless and should be replaced by a Category but it also claims to be something different (a list of tools for static code analysis). And some of the Tools on the List do not have WP articles. Please remove them if you want to uphold your criteria and fix the comment inside the article, too. --Wikieditoroftoday (talk) 03:18, 2 February 2010 (UTC)
Alright, done. Also, you should read the standalone list guideline. — HelloAnnyong (say whaaat?!) 03:37, 2 February 2010 (UTC)
Even with that selection criteria, the article has a benefit over a list, in that it organizes the tools by language, and is able to give a brief summary of features. -Verdatum (talk) 15:45, 2 February 2010 (UTC)
I continue to feel that the selection criteria should be that it is covered in depth by independent resources (AKA, the WP:GNG), which is separate from the requirement that the tool have a WP article; merely that the tool could potentially have a WP article, even if only a stub. If it weren't for the constant obvious WP:COI spammers that have needed to be edited, I'd argue more fervently that this is a valid case to Ignore all rules and relax the policy on External Linking, but as is, the strict policy is woefully quite a bit easier to enforce. So oh well. -Verdatum (talk) 15:45, 2 February 2010 (UTC)
Maybe we should be encouraging people more to create articles that meet WP:GNG as a way to eventually make it to this list. Some of them will end up doing some good work. AliveFreeHappy (talk) 00:30, 10 September 2010 (UTC)


Shouldn't Oink be included, being all popular an' that? barry_abs 21:25, 10 January 2007 (UTC)

Why flawfinder flawfinder isn't mentioned on this page? Ettl.martin (talk) 01:28, 8 March 2009 (UTC)

Shouldn't codeviz (static call tree analyze) be included? -- (talk) 12:24, 16 December 2009 (UTC)

The consensus for quite some time on this article has been that items should be notable to avoid problems creating an indiscriminate list. The simplest way to check notability is if it has a wikipedia article, so that is the criteria here. So what is your next step? If the tool you'd like to see ______ (fill in the blank) doesn't have a wikipedia article, try creating one. But make sure you follow the WP:Notability guidelines and proper sourcing. If you need help, there are people who will assist you. Once that article is created (usually you can play with it till it's ready in your own userpace) then you can come and add it to the list here. What you don't want to do is just add something here over and over again. There's plenty here that are happy to guide you in creating a new article. And re the "please delete it from article _____ (fill in the blank)" you might want to take a look at the other stuff exists guideline. AliveFreeHappy (talk) 00:35, 14 September 2010 (UTC)

Why Cppcheck is not mentioned? Free and all? Programming tool article lists (but with red link). Oh i see... people like HelloAnnyong find the tools without article to be not notable and delete them agressively. Possibly to promote their commercial tools? (talk) 14:18, 12 April 2010 (UTC)

Why is Yasca mentioned? The article for that provides zero relevance references and is mainly contributed by its author. Please fix your relevance criteria. —Preceding unsigned comment added by (talk) 00:54, 14 September 2010 (UTC)

Again, I point you to WP:OTHERSTUFF for an explanation. The consensus here is extremely simple. If it has a wiki article, it gets added. If not, it doesn't. If you want to add something, then I suggest working on creating an article for it first. As I've mentioned there are many who would help you, including myself, if you have references but don't know what to do. AliveFreeHappy (talk) 00:59, 14 September 2010 (UTC)

Renaming this page

The following discussion is an archived discussion of a requested move. Please do not modify it. Subsequent comments should be made in a new section on the talk page. No further edits should be made to this section.

The result of the move request was: rejected. Peter Karlsen (talk) 05:05, 22 September 2010 (UTC)

. Peter Karlsen (talk) 05:05, 22 September 2010 (UTC) List of tools for static code analysisList of articles about tools for static code analysis — Since many new editors confuse this page with a List of tools for static code analysis I strongly recommend renaming it to List of articles about tools for static code analysis to avoid this confusion. If you look at the history, you can see that it happens like daily that a user adds a new link thinking this was a List of tools for static code analysis whereas it is not (have a look at the notability arguments on this discussion page). (talk) 19:18, 14 September 2010 (UTC)

Oppose. No, we're not doing that, as it doesn't fit Wikipedia naming conventions. — HelloAnnyong (say whaaat?!) 19:22, 14 September 2010 (UTC)
This problem frequently causes reverted edits. I am proposing a solution that reduces the overall work. All these rules you show up simply do not work in practice. You have to make compromises. The problem is real. (talk) 19:29, 14 September 2010 (UTC)
But the solution is not to rename the page. There is a note at the top telling people not to add external links to this; it's not visible because we don't do banners at the top with notability inclusion rules like that, but if you edit you can see it. Changing this page to say "list of articles" isn't going to stop people from adding links here. And anyway, "List of articles of X" violates WP:LISTNAME, the policy on list naming. — HelloAnnyong (say whaaat?!) 19:38, 14 September 2010 (UTC)
Since the list is an *arbitrary* subset of tools it should be noted directly in the article (preferably the name) what the listing criteria are. Those criteria are obviously foreign to the average contributor. You do not improve the situation by citing arbitrary policy sections either. You cannot fix communication problems with policy. Please start to apply common sense. (talk) 19:45, 14 September 2010 (UTC)
Oppose. No other Wikipedia list articles are named "List of articles about...". The criteria are clear in the talk page and in the editors header. I see no value in making Wikipedia into a linkfarm. If you feel that strongly about including FlawFinder in the list (for instance), be constructive and write an article that establishes its notability. -Tjarrett (talk) 20:35, 14 September 2010 (UTC)
You are missing the point. I have no problem with this list. The problem I am trying to address is that many new editors get it wrong in the first place. You cannot fix that by telling them to add an article, because at that time the unwanted edit has already happened, so it is too late. (talk) 23:21, 14 September 2010 (UTC)
Oppose. The criteria are spelled out clearly if you actually edit the article in comments, as well as discussed thoroughly on the talk page if you read it first, and spelled out specifically at the top of this page. Renaming the article will not change anyone's behavior at all. AliveFreeHappy (talk) 16:30, 15 September 2010 (UTC)
Do you have any evidence supporting your last statement? (talk) 22:17, 15 September 2010 (UTC)
Evidence that changing the name will not fix behavior? Just look at the fact that clear instructions are ignored. Why would a name change be any different? AliveFreeHappy (talk) 22:41, 15 September 2010 (UTC)
  • Oppose if this list is supposed to only contain subjects with articles, it should be deleted and replaced with a category. If it is supposed to list notable tools, then the current title is fine. (talk) 04:18, 18 September 2010 (UTC)
The above discussion is preserved as an archive of a requested move. Please do not modify it. Subsequent comments should be made in a new section on this talk page. No further edits should be made to this section.

Information on some merging activies and rescued content

I have spent some time on merging following article Automated code review into this List of tools for static code analysis article. I have provided a summary of my activities here Talk:Automated_code_review#Rename_or_merge_summary. And I have rescued some content that had external pointers only to here Talk:Automated_code_review#Rescued/saved_information_which_was_only_using_external_http_links.

Ptrb (talk) 07:04, 4 November 2010 (UTC)

Perl and Python

Perl and Python also have static code analysis tools, as perlcritic for Perl and PyChecker for Python. Is it okey to add them or have I interpreted 'static code analysis' incorrectly? Freefox (talk) 12:54, 11 February 2011 (UTC)

The criteria for inclusion is that each tool must be notable enough to have its own article on here. So if you want to include the tools on this page, you need to first create an article for each one and make sure it meets all the notability criteria. — HelloAnnyong (say whaaat?!) 13:11, 11 February 2011 (UTC)


The Clang Static Analyzer is source code analysis tool that find bugs in C and Objective-C programs.[2] clang-analyzer is written in c++, but is a static analysis tool for C and objective C. The article currently lists clang as an analysis tool for C++ and not for C. --Hef-wiki (talk) 15:19, 7 August 2011 (UTC)

Nonsensical categorization

I have refactored the list to remove the nonsensical top-level categorization (i.e., the false dichotomy between "Open Source/freeware" and "commercial" software): whether a piece of software is Open Source or not, whether it is developed commercially or not, and whether it costs money or not, are three entirely independent features. Unfortunately, however, it's not possible to refactor the list to account for all three features without checking the licence and pricing of each entry, not to mention the motivation of its developers. —Psychonaut (talk) 20:13, 31 October 2011 (UTC)

Non-notable entries

There seem to be a lot of editors (usually first-time ones) adding entries which don't satisfy the inclusion criteria. When reverting such edits, please consider adding a polite note to the user's talk page explaining the action and encouraging them to write an article on the tools they added (provided it meets the notability criteria). Here is an example notification which can be adapted:

==[[List of tools for static code analysis]]==

While we appreciate your attempt to improve the article [[List of tools for static code analysis]], according to [[Wikipedia:Manual of Style/Stand-alone lists|Wikipedia's guidelines for standalone lists]], the only entries that should appear are ones which have their own articles on Wikipedia. Your changes have therefore been reverted. If you feel the tool you added meets [[WP:N|Wikipedia's inclusion criteria]], please consider [[WP:WTAF|writing an article for it first]] and then add it to the list. —~~~~

Psychonaut (talk) 13:01, 20 April 2012 (UTC)


This entry could use a sub-categorization concerning the cost/license of the various individual solutions, so that people can easily check for tools that match their financial/license requirements

The multi-language entry actually hampers readability and makes it hard to find all C/C++ (for instance) tools, because some of them are only listed in the 'multi-language' section. It would be easier to read if the tools were listed both under their language category and multi-language or if the multi-language section was removed. Alternately, a table showing each tool in a column and giving a checkbox for the various languages might be a good idea, along with licencins information in a first column? — Preceding unsigned comment added by (talk) 07:44, 18 September 2012 (UTC)

Proprietary vs. Open Source

Can the tools listed be identified to indicate if the tool is open Source, proprietary, or both? Scotsgeek (talk) 00:49, 1 July 2012 (UTC)

Sure, knock yourself out. —Psychonaut (talk) 10:17, 26 September 2012 (UTC)

Notability for entries whose article is for the company, not the tool

The selection criteria for this list is the first one listed at Wikipedia:Manual of Style/Stand-alone lists—to, wit, "Every entry meets the notability criteria for its own non-redirect article in the English Wikipedia." I note that a number of the entries currently in the list do not link to an article for the tool itself, but rather to the company which produces sells the tool. Do such entries meet the selection criteria, or should they be removed? Or should we allow such entries only where the company's main claim to notability is as a producer of the tool? —Psychonaut (talk) 08:09, 15 May 2012 (UTC)

Allowing tools that have just a company page means that we would have to allow any small tool, just because it is created in a big company. That would allow any big company to flood this list with their company name, by just releasing a huge amount of crappy tools. Besides the rule is pretty clear to me. The tool much have its own article. — Preceding unsigned comment added by (talk) 22:34, 19 October 2012 (UTC)

This is an oversimplification for some entries on the page, like Veracode, whose "tool" is a SaaS service under the same name as the company. I've reverted the edit that removed that link. -Tjarrett (talk) 17:00, 12 November 2012 (UTC)

HLint and Shellcheck

I wouldn't say that HLint deserves a whole article describing it, but it is a good idea to at least list it, to make it easier to find. Static analysis tools are already fairly obscure, so it would be helpful to include it here.

If we still need to satisfy "notable" criteria, HLint is notable for being the only static analysis tool for Haskell code. Likewise for Shellcheck, the only known linter for .sh shell code.

--Mcandre —Preceding undated comment added 23:52, 28 October 2013 (UTC)

I understand what you are saying here—HLint and Shellcheck are probably indeed a "notable" tools in some sense. However, in Wikipedia parlance "notable" is employed in a very specific sense to mean something which has achieved significant coverage in multiple independent reliable sources. Unless you can demonstrate that HLint and Shellcheck have attracted such coverage, then they probably don't belong on this list—see Wikipedia's guidelines for standalone lists for our inclusion criteria, and WP:NOTDIR for another take on why we don't catalogue software simply to "make it easier to find". If these tools do have such reliable sources, please write a short article on them first, and then add them to the list. —Psychonaut (talk) 08:50, 29 October 2013 (UTC)


Sublime Text is an extremely popular editor, and SublimeLinter is an extremly popular linting/static code analysis tool for Subl. Might be worth adding to the list. — Preceding unsigned comment added by (talk) 02:43, 22 April 2014 (UTC)