{"id":101563,"date":"2021-10-07T16:22:54","date_gmt":"2021-10-07T14:22:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s"},"modified":"2021-10-07T16:22:54","modified_gmt":"2021-10-07T14:22:54","slug":"vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s","title":{"rendered":"Lansarea cppcheck 2.6, un analizator static de cod pentru limbajele C++ \u0219i C","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A ap\u0103rut o nou\u0103 versiune a analizorului static de cod cppcheck 2.6, care permite identificarea diferitelor clase de erori \u00een codul scris \u00een limbajele C \u0219i C++, inclusiv atunci c\u00e2nd se utilizeaz\u0103 o sintax\u0103 neconven\u021bional\u0103, specific\u0103 sistemelor \u00eencorporate. Ofer\u0103 o colec\u021bie de plugin-uri prin care este asigurat\u0103 integrarea cppcheck cu diverse sisteme de dezvoltare, integrare continu\u0103 \u0219i testare, precum \u0219i func\u021bionalit\u0103\u021bi cum ar fi verificarea conformit\u0103\u021bii codului cu stilul de codare. At\u00e2t parserul propriu, c\u00e2t \u0219i parserul extern de la Clang pot fi utilizate pentru analizarea codului. De asemenea, include un script donate-cpu.py pentru a oferi resurse locale pentru realizarea lucr\u0103rilor de verificare colaborativ\u0103 a codului pachetelor Debian. Codul surs\u0103 al proiectului este distribuit sub licen\u021ba GPLv3.      <\/p>\n<p>Dezvoltarea cppcheck se concentreaz\u0103 pe identificarea problemelor legate de comportamentul neclar \u0219i pe utilizarea construc\u021biilor periculoase din punct de vedere al securit\u0103\u021bii. De asemenea, obiectivul este de a minimiza alarmele false. Problemele identificate includ: pointeri c\u0103tre obiecte inexistente, \u00eemp\u0103r\u021biri la zero, dep\u0103\u0219iri de capacitate a numericelor, opera\u021bii incorecte de deplasare pe bi\u021bi, conversii incorecte, probleme de gestionare a memoriei, utilizarea incorect\u0103 a STL, dereferentieri de pointeri nuli, aplicarea verific\u0103rilor dup\u0103 accesarea efectiv\u0103 a bufferului, dep\u0103\u0219iri ale limitelor bufferelor, utilizarea variabilelor neini\u021bializate.          <\/p>\n<p>  \u00cen noua versiune:  <\/p>\n<ul>\n<li class=\"l\"> \u00cen nucleul analizorului au fost ad\u0103ugate urm\u0103toarele verific\u0103ri:\n<ul>\n<li class=\"l\"> lipsa operatorului return \u00een corpul unei func\u021bii;\n<li class=\"l\"> scrierea de date care se suprapun, determinarea comportamentului neclar;\n<li class=\"l\"> valoarea comparat\u0103 se afl\u0103 \u00een afara domeniului valorilor tipului;\n<li class=\"l\"> optimizarea copiei nu se aplic\u0103 pentru return std::move(local);\n<li class=\"l\"> fi\u0219ierul nu poate fi deschis simultan pentru citire \u0219i scriere \u00een fluxuri diferite;  <\/ul>\n<li class=\"l\"> pentru platformele Unix a fost ad\u0103ugat\u0103 suport pentru afi\u0219area mesajelor de diagnostic \u00een culori diferite;\n<li class=\"l\"> a fost ad\u0103ugat analiza simbolic\u0103 pentru ValueFlow. Se folose\u0219te o delta simpl\u0103 pentru calcularea diferen\u021belor \u00eentre dou\u0103 variabile necunoscute;\n<li class=\"l\"> Regulile utilizate pentru lista de token-uri &#171;define&#187; pot corespunde \u0219i cu #include;\n<li class=\"l\"> eticheta de bibliotec\u0103  poate acum con\u021bine eticheta , iar func\u021biile free care pot accepta aceste containere, cum ar fi std::size, std::empty, std::begin, std::end etc., pot specifica yeld sau action pentru containere;\n<li class=\"l\"> Tag-ul de bibliotec\u0103 &lt;smart-pointer&gt; poate con\u021bine acum tag-ul &lt;unique&gt; pentru pointerii inteligen\u021bi care au proprietate exclusiv\u0103 (unique ownership). Acum este emis un aviz cu privire la referin\u021bele &#171;flotante&#187; c\u0103tre acest tip de pointeri inteligen\u021bi;\n<li class=\"l\"> Problemele de procesare a parametrului &#8212;cppcheck-build-dir au fost corectate;\n<li class=\"l\"> htmlreport poate acum s\u0103 prezinte informa\u021bii despre autor (folosind git blame);\n<li class=\"l\"> a fost extins\u0103 emiterea avertismentelor pentru variabile care nu sunt constante, dar care ar putea fi;\n<li class=\"l\"> au fost corectate erorile \u0219i neajunsurile acumulative ale analizatorului.  <\/ul>\n<p>  \u00cen plus, au fost implementate complet verific\u0103rile din Misra C 2012, inclusiv Amendamentul 1 \u0219i Amendamentul 2, cu excep\u021bia regulilor 1.1, 1.2 \u0219i 17.3. Verific\u0103rile 1.1 \u0219i 1.2 trebuie efectuate de c\u0103tre compilator. Verificarea 17.3 poate fi efectuat\u0103 de compilator, de exemplu, GCC.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55936\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 cppcheck 2.6, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 \u0421\u0438 \u0438 \u0421\u0438++, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f cppcheck \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-101563","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 cppcheck 2.6, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 \u0421\u0438 \u0438 \u0421\u0438++, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a cppcheck 2.6, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C++ \u0438 \u0421 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 cppcheck 2.6, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 \u0421\u0438 \u0438 \u0421\u0438++, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-10-07T14:22:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-10-07T14:22:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Lansarea cppcheck 2.6, un analizator static de cod pentru limbajele C++ \u0219i C | ProHoster","description":"A fost lansat\u0103 o nou\u0103 versiune a analizatorului static de cod cppcheck 2.6, care permite identificarea diverselor tipuri de erori \u00een codul scris \u00een C \u0219i C++, inclusiv atunci c\u00e2nd se utilizeaz\u0103 sintax\u0103 neconven\u021bional\u0103, specific\u0103.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a cppcheck 2.6, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C++ \u0438 \u0421 | ProHoster","og:description":"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 cppcheck 2.6, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 \u0421\u0438 \u0438 \u0421\u0438++, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u044f.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-10-07T14:22:54+00:00","article:modified_time":"2021-10-07T14:22:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"101563","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-10-07 14:40:34","updated":"2022-09-27 16:13:52","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/101563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=101563"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/101563\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=101563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=101563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=101563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}