<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Apr 14, 2013, at 11:31 PM, David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Tue, Apr 9, 2013 at 8:51 PM, Adam Schnitzer <<a href="mailto:adamschn@umich.edu">adamschn@umich.edu</a>> wrote:<br><blockquote type="cite">Hello All,<br><br>I am planning on proposing a project for Google Summer of Code this summer,<br>and would like to get your feedback before I write up a formal proposal.<br><br>I would like to work on improving support for C++ in the static analyzer.<br>Specifically, I think it would be valuable to improve the checkers for<br>undefined behavior including those already suggested.<br><br>Also, I think it would be helpful to extend the static analyzer to check for<br>stylistic violations. For example, projects like LLVM have suggestions like,<br>"Don't use else after a return". These warnings would often be noisy, and<br>project dependent, so it would be useful to make those options configurable<br>and suppressible.<br></blockquote><br>Many stylistic issues wouldn't likely need the full power of the Clang<br>Static Analyzer. I suspect it would be better to factor such checks<br>out of the SA and then have the SA as one (allbeit expensive)<br>configurable check alongside many others. But I could be wrong - not<br>sure how lightweight the SA can be if it's doing simple things.<br></div></blockquote><div><br></div><div>The static analyzer contains several syntactic, AST-based checkers - they are essentially StmtVisitors. These are much faster than regular analyzer checkers, which rely on path-sensitive symbolic program execution. Currently, there is no analyzer mode, which would only run the syntactic checkers, but it would be relatively easy to add one.</div><div><br></div><div>Anna.</div><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br><blockquote type="cite">I am also interested in implementing several of the optimization checkers.<br>Specifically, it would be valuable to have warnings about postfix increment<br>and pass by value give an idea of how large the object being copied is.<br></blockquote><br>Aside: pass by value is actually surprisingly /good/ in the presence<br>of move semantics/swaptimizations. But those could be detected.<br><br><blockquote type="cite"><br>I would be very interested to hear your feedback, specifically, if you think<br>this project would be valuable.<br><br>Thank You,<br>Adam Schnitzer<br>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br><br></blockquote>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a></div></blockquote></div><br></body></html>