{"id":149,"date":"2008-05-15T11:44:00","date_gmt":"2008-05-15T11:44:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=149"},"modified":"2008-05-15T11:44:00","modified_gmt":"2008-05-15T11:44:00","slug":"thema-der-woche-bug-finder","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2008\/05\/thema-der-woche-bug-finder\/","title":{"rendered":"Thema der Woche: Bug-Finder"},"content":{"rendered":"<p>Bei jedem Software-Projekt sollte die Qualit&#228;t &#252;ber einen langen Zeitraum konstant hoch sein. Insbesondere bei wechselnden Team-Mitgliedern kommen aber schnell Inkonsistenzen in die Sourcen und die Qualit&#228;t leidet. Code-Analyse Tools versuchen aufgrund bekannter Fehler-Pattern genau diese Schwachstellen zu finden. In Java gibt es eine ganze Reihe von Tools. So f&#252;hrt <a title=\"http:\/\/en.wikipedia.org\/wiki\/List_of_tools_for_static_code_analysis#Java\" href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_tools_for_static_code_analysis#Java\">http:\/\/en.wikipedia.org\/wiki\/List_of_tools_for_static_code_analysis#Java<\/a> auf:<\/p>\n<ul>\n<li><a href=\"http:\/\/bandera.projects.cis.ksu.edu\/\">Bandera<\/a> &#8212; analyzer for Java <\/li>\n<li><a href=\"http:\/\/checkstyle.sourceforge.net\/\">Checkstyle<\/a> &#8212; analyze Java and apply coding standard <\/li>\n<li><a href=\"http:\/\/sourceforge.net\/projects\/classycle\/\">Classycle<\/a> &#8212; analyze Java class cycles and class and package dependencies (Layers) <\/li>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/FindBugs\">FindBugs<\/a> &#8212; an open-source static bytecode analyzer for Java (based on <a href=\"http:\/\/en.wikipedia.org\/wiki\/Jakarta_Project\">Jakarta<\/a> <a href=\"http:\/\/en.wikipedia.org\/wiki\/Byte_Code_Engineering_Library\">BCEL<\/a>). <\/li>\n<li><a href=\"http:\/\/jlint.sourceforge.net\/\">Jlint<\/a> &#8212; for Java <\/li>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/PMD_%28software%29\">PMD (software)<\/a> &#8212; a static ruleset based Java source code analyzer that identifies potential problems. <\/li>\n<li><a href=\"http:\/\/www.sable.mcgill.ca\/soot\/\">Soot<\/a> &#8212; A Java program analysis and compiler optimization framework <\/li>\n<\/ul>\n<p>F&#252;r einige Produkte gibt es <a href=\"http:\/\/www.eclipseplugincentral.com\/Web_Links-index-req-viewcatlink-cid-14-orderby-rating.html\">Eclipse-Plugins<\/a>. Teste <a href=\"http:\/\/findbugs.sourceforge.net\/\">FindBugs<\/a> in Eclipse\/NetBeans. Studiere die <a href=\"http:\/\/findbugs.sourceforge.net\/bugDescriptions.html\">Bugs\/Schwachstellen<\/a>, die FindBugs automatisch finden kann.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei jedem Software-Projekt sollte die Qualit&#228;t &#252;ber einen langen Zeitraum konstant hoch sein. Insbesondere bei wechselnden Team-Mitgliedern kommen aber schnell Inkonsistenzen in die Sourcen und die Qualit&#228;t leidet. Code-Analyse Tools versuchen aufgrund bekannter Fehler-Pattern genau diese Schwachstellen zu finden. In Java gibt es eine ganze Reihe von Tools. So f&#252;hrt http:\/\/en.wikipedia.org\/wiki\/List_of_tools_for_static_code_analysis#Java auf: Bandera &#8212; analyzer [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[13],"tags":[],"class_list":["post-149","post","type-post","status-publish","format-standard","hentry","category-die-wochentliche-dosis-java"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=149"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/149\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}