{"id":9583,"date":"2019-10-03T07:00:58","date_gmt":"2019-10-03T15:00:58","guid":{"rendered":"http:\/\/formtek.com\/blog\/?p=9583"},"modified":"2019-08-14T10:18:05","modified_gmt":"2019-08-14T18:18:05","slug":"coding-the-elusive-goal-of-bug-free","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/coding-the-elusive-goal-of-bug-free\/","title":{"rendered":"Coding: The Elusive Goal of Bug Free"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The goal of bug free software is unattainable, at least for software beyond a few hundred lines of code.  That doesn&#8217;t mean that we should give up because perfection is out of reach; it&#8217;s just a recognition of reality. Sometimes bugs aren&#8217;t uncovered until many years after their initial release.  And many other bugs will simply never be found or reported, or simply cataloged as &#8216;known deficiencies&#8217;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, the <a href=\"https:\/\/www.makeuseof.com\/tag\/priority-20-year-old-bug-breaks-internet-encryption-tell-browser-affected\/\">encryption bug called &#8220;LogJam&#8221; <\/a>related to encryption handling in the Transport Security Layer was not discovered until 20 years after the software was initially created.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.cio.com\/author\/Phil-Johnson\/?nsdr=true\">Phil Johnson<\/a>, editor at ITWorld, <a href=\"https:\/\/www.csoonline.com\/article\/3404334\/11-software-bugs-that-took-way-too-long-to-meet-their-maker.html\">wrote that<\/a> &#8220;while it may seem surprising that a coding error in a commonly used piece of software could go unnoticed for years, it\u2019s actually not that uncommon. For a variety of reasons, bugs can go undetected, or sometimes simply ignored, for quite a long time in even the most widely used and critical pieces of code.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recently the <a href=\"https:\/\/eclypsium.com\/2019\/08\/10\/screwed-drivers-signed-sealed-delivered\/\">security company Eclypsium<\/a> found more than 40 drivers from 20 different hardware vendors with serious vulnerabilities.  The flawed drivers allow an attacker to take complete control of the machine.  Until then, no one had taken the time to closely examine this important software. These bugs are serious, <a href=\"https:\/\/www.forbes.com\/sites\/daveywinder\/2019\/08\/11\/critical-windows-10-warning-confirmed-millions-of-users-are-at-risk\/#5ec755bf2b51\">but the problem was compounded by the fact that Microsoft certified all of them<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.cs.purdue.edu\/homes\/schau\/\">Sze Yiu Chau<\/a>, researcher at Purdue University, <a href=\"https:\/\/www.wired.com\/story\/rsa-encryption-signature-validation-flaws\/\">said that<\/a> &#8220;we found the issues in two open source TLS web encryption libraries.  <br>there are developers in the IoT community using these products. We don&#8217;t know what commercial products use them, but the numbers show that they have 20 or 30 downloads each week. For developers, particularly application developers, they just want to make things work. They don\u2019t necessarily understand how the crypto works underneath.&#8221;<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Fcoding-the-elusive-goal-of-bug-free%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>The goal of bug free software is unattainable, at least for software beyond a few hundred lines of code. That doesn&#8217;t mean that we should give up because perfection is out of reach; it&#8217;s just a recognition of reality. Sometimes<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/coding-the-elusive-goal-of-bug-free\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[76],"tags":[],"class_list":["post-9583","post","type-post","status-publish","format-standard","hentry","category-coding"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=9583"}],"version-history":[{"count":1,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9583\/revisions"}],"predecessor-version":[{"id":9584,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9583\/revisions\/9584"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=9583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=9583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=9583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}