{"id":1975,"date":"2019-09-26T02:32:05","date_gmt":"2019-09-26T02:32:05","guid":{"rendered":"http:\/\/kusuaks7\/?p=1580"},"modified":"2024-03-22T12:31:15","modified_gmt":"2024-03-22T12:31:15","slug":"how-ai-for-code-can-unlock-legacy-systems","status":"publish","type":"post","link":"https:\/\/www.experfy.com\/blog\/ai-ml\/how-ai-for-code-can-unlock-legacy-systems\/","title":{"rendered":"How AI for code can unlock legacy systems"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1975\" class=\"elementor elementor-1975\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-20b8d4d7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"20b8d4d7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3d190d9a\" data-id=\"3d190d9a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-590720d4 elementor-widget elementor-widget-text-editor\" data-id=\"590720d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tLegacy code sometimes resembles a sleeping monster that software engineering teams learn to tiptoe around. When enterprises try to modify or upgrade this code, they face a few barriers\u2014one of which is that every small change in the app\u2019s code could have far-reaching, unexpected consequences. With this in mind, everyone&#8217;s a little bit afraid of disturbing the legacy code.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff424c5 elementor-widget elementor-widget-text-editor\" data-id=\"ff424c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThis issue has been gradually becoming more pressing (for decades, in some cases), but it\u2019s a shame to let legacy systems continue to hold back growth now that tools finally exist to start modernising outdated applications. With recent advances in AI, the gridlock caused by large-scale legacy code can finally be broken.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ddc52d elementor-widget elementor-widget-heading\" data-id=\"9ddc52d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><h2 id=\"the-high-price-of-inaccessible-code\">The high price of inaccessible code<\/h2><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7131842 elementor-widget elementor-widget-text-editor\" data-id=\"7131842\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIn many large organisations, software development teams are up-to-date with the modern code they use on a regular basis, but they no longer have an accurate record of the source code for many of the applications the company relies on. This is how legacy code forms. Legacy code doesn\u2019t have documentation and is no longer actively developed, but is often updated. It might exist in any language, but was probably written in COBOL or Java, and nobody is really sure how it works anymore. The general consensus is to leave it alone.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-61e0771 elementor-widget elementor-widget-text-editor\" data-id=\"61e0771\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSince these applications don\u2019t have tests, it can be extremely difficult for developers to see the connections between lines of code and anticipate the impact of the changes they make or new code they add before bugs or other issues are introduced. It can be even harder to trace the source of the bug and resolve it. As a result, applications built from legacy systems start to feel inaccessible and locked away by a fear of breaking something critical.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5cba1a9 elementor-widget elementor-widget-text-editor\" data-id=\"5cba1a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tLegacy systems can create huge financial burdens for businesses, costing companies millions of dollars each year to work around, without accounting for the opportunity cost of not being able to adopt newer, more efficient tools. In some cases, legacy code is written in languages that most developers don\u2019t know anymore, and editing it means organisations have to entice developers out of retirement to resolve critical issues. It\u2019s not unusual for 80 per cent of an annual IT budget to be allocated to maintaining core legacy applications.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38bb880 elementor-widget elementor-widget-text-editor\" data-id=\"38bb880\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tCurrently, these challenges are dealt with manually by slogging through the code, refactoring when possible, writing tests as needed and fixing bugs as they appear. This is slow work; in fact, the majority of developers spend less than half of each workday engaging in active development. Instead, their time is taken up by maintenance activities like testing and debugging. These are a waste for a highly skilled development team, and a lot less interesting than coding of new features, but somebody has to do it\u2014don\u2019t they?\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-641cec0 elementor-widget elementor-widget-heading\" data-id=\"641cec0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><h2 id=\"ai-the-key-to-digital-transformation\">AI: the key to digital transformation<\/h2><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4003b03 elementor-widget elementor-widget-text-editor\" data-id=\"4003b03\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhen systems are as massive and entwined as those found in enterprise codebases, it can be impossible for people to grasp the connections between them and untangle them into better code\u2014especially with the loss of knowledge that occurs when developers move jobs or switch companies. But humans don\u2019t necessarily need to be able to understand these connections.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c92877 elementor-widget elementor-widget-text-editor\" data-id=\"9c92877\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAI technology applied to software is equipped to crawl entire codebases in a tiny fraction of the time it would take a human to do the same, instantly and accurately mapping the links between pieces of code. AI for code is a new category of AI that is capable of going one step further and creating original code based on existing development. This next level AI has far-reaching applications and implications.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54c9b31 elementor-widget elementor-widget-text-editor\" data-id=\"54c9b31\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIn an example of a case that\u2019s perhaps most relevant to the challenges of legacy applications, AI for code can create comprehensive new tests for an entire legacy codebase, making previously impenetrable parts of the company\u2019s software accessible by instantly alerting developers to any issues or bugs their code changes may have caused. Even edge cases and side cases that wouldn\u2019t be picked up by a human developer can be spotted by AI.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-439ad31 elementor-widget elementor-widget-text-editor\" data-id=\"439ad31\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWith this feedback, developers can resolve breaking changes at the earliest stages of the software delivery lifecycle, saving ten times the work it would take to implement fixes later down the line. Legacy code can be refactored and new features can be created without waking the legacy beast. Suddenly, code becomes modifiable again, without fear of negatively impacting mission-critical software.\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31019c1 elementor-widget elementor-widget-heading\" data-id=\"31019c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><h2 id=\"unlocked-potential\">Unlocked potential<\/h2><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-54e9895 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"54e9895\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-40605d0\" data-id=\"40605d0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-22f2084 elementor-widget elementor-widget-text-editor\" data-id=\"22f2084\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIt\u2019s been a long time in the making, but the technology for AI that can write code has finally arrived. In the same way that automation has revolutionised software delivery, AI for code promises to drastically improve the way developers interact with legacy systems. It offers an efficient way\u2014arguably, one of the only viable ways\u2014to upgrade core business applications, \u00a0speed up the software delivery lifecycle and remove the costs of legacy code.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Legacy code sometimes resembles a sleeping monster that software engineering teams learn to tiptoe around. When enterprises try to modify or upgrade this code, they face a few barriers\u2014one of which is that every small change in the app\u2019s code could have far-reaching, unexpected consequences. With this in mind, everyone&#8217;s a little bit afraid of<\/p>\n","protected":false},"author":647,"featured_media":4060,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[183],"tags":[97],"ppma_author":[3395],"class_list":["post-1975","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-ml","tag-artificial-intelligence"],"authors":[{"term_id":3395,"user_id":647,"is_guest":0,"slug":"daniel-kroening","display_name":"Daniel Kroening","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","user_url":"","last_name":"Kroening","first_name":"Daniel","job_title":"","description":"Professor Daniel Kroening, a computer scientist, is Professor in computer science at the University of Oxford, and Co-founder at <a href=\"http:\/\/www.diffblue.com\/\" target=\"_blank\" rel=\"noopener\">Diffblue<\/a>."}],"_links":{"self":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/1975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/users\/647"}],"replies":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/comments?post=1975"}],"version-history":[{"count":4,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/1975\/revisions"}],"predecessor-version":[{"id":36507,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/1975\/revisions\/36507"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media\/4060"}],"wp:attachment":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media?parent=1975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/categories?post=1975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/tags?post=1975"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=1975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}