AI Weekly: The promise and limitations of machine programming tools – VentureBeat
Elevate your enterprise data technology and strategy at Transform 2021.
Machine programming, which automates the development and maintenance of software, is becoming supercharged by AI. During its Build developer conference in May, Microsoft detailed a new feature in Power Apps that taps OpenAIs GPT-3 language model to assist people in choosing formulas. Intels ControlFlag can autonomously detect errors in code. And Facebooks TransCoderconverts code from one programming language into another.
The applications of computer programming are vast in scope. And as computers become ubiquitous, the demand for quality code draws an ever-growing number of aspiring programmers to the profession. After years of study to become proficient at coding, experts learn to convert abstracts into concrete, executable programs. But they spend the majority of their work hours not programming. According to a study from the University of Cambridge, at least half of developers efforts are spent debugging, which costs the software industry an estimated $312 billion per year.
AI-powered code suggestion and review tools promise to cut development costs substantially while allowing coders to focus on more creative, less repetitive tasks, according to Justin Gottschlich, principal AI scientist at Intels machine programming division. Gottschlich is spearheading the work on ControlFlag, which fuses machine learning, formal methods, programming languages, and compilers to detect normal coding patterns, identifying abnormalities in code that are likely to cause a bug.
Prior to machine learning- or AI-based programming systems, programmers had dozens perhaps hundreds of tools to help them be more productive, produce code with fewer logic errors, improve the softwares performance, and so on. However, nearly all of these systems were rules-based,' Gottschlich told VentureBeat via email. While useful, rules-based systems are inherently limited in scope by the rules that they have been programmed into them. As such, if new kinds of things occur, the systems would need to be updated by humans. Moreover, these rules-based systems have always been prone to human error in creating the rules encoded in them. For example, programmers may accidentally create a rule to find a certain type of bug, but incorrectly define the rules to find it. This hidden bug in the rules system could go undetected forever.
Gottschlich asserts that AI-based systems offer benefits over the rules-based systems of yesteryear because AI can learn on its own in an unsupervised fashion, enabling it to draw on massive code databases. With unsupervised learning, an algorithm is fed unknown data for which no previously defined labels exist. The system must teach itself to classify the data by processing it to learn from its structure.
For example, ControlFlag was trained on over 1 billion unlabeled lines of code to identify stylistic variations in programming language. As for TransCoder, it learned to translate between C++, Java, and Python by analyzing a GitHub corpus containing over 2.8 million repositories. Microsoft trained a bug-spotting program on a dataset of 13 million work items and bugs from 47,000 developers across AzureDevOps and GitHub repositories. And code review platform DeepCodes algorithms were taught using billions of lines of code captured from public open source projects.
Theres a difference between AI-powered coding tools that can generate code from whole cloth versus augment a programmers workflow, of course. The latter is more common. Startups such as Tabine (formerly Codota) are developing platforms that suggest and autocomplete scripts in Python, C, HTML, Java, Scala, Kotlin, and JavaScript. Ponicode taps AI to check the accuracy of code. Intels Machine Inferred Code Similarity engine can determine when two pieces of code perform similar tasks, even when they use different structures and algorithms. And DeepCode offers a machine learning-powered system for whole-app code reviews as does Amazon.
Currently, we see a lot of AI-powered assistants, enabling software engineers to gain velocity and accuracy in their work. And the reason for the availability of more assistant tools than automation tools is that AI-powered automation has simply not yet reached the level of accuracy required, Ponicode CEO Patrick Joubert told VentureBeat. Our industry is still young, and even though we can already see the potential of automation with AI based code generators, we have to acknowledge that automatically generated code is still pretty unmaintainable and the overall quality is not meeting the right standards yet. While some engineers are working on the future of AI powered automation, my team and I, along with many other stakeholders, are dedicated to creating tools that can be used today. Within a few years I believe there will be enough tools to cover all steps of the development lifecycle.
For Joubert, the most intriguing categories of machine programming tools today are autocompletion and code analysis. Autocompletion systems like Tabnine and Kite employ AI to analyze semantics and make sense of code, autocompleting functions with a sense of the codes semantic content and purpose. As for code analysis tools like Snyk and DeepCode, theyre dedicated to finding vulnerabilities in the code and suggesting actions to resolve them often with surprising speed and precision.
When we see the numerous leaks and bugs from any software, including the ones built by leading multinationals, we can agree that [the software] industry has not yet matured. AI-powered coding tools are mostly meant to enhance the developer experience and empower them, thanks to greater velocity and greater efficiency, Joubert added. Behind these developer-focused benefits, I believe we are on the way to allowing software engineers to build industrial-grade software, where quality, innovation, and speed are reached systematically Autocompletion [in particular is] enabling software engineers to focus on the most complex part of their codebase and removing the burden of manually writing long strings of code.
Despite their potential, both AI-powered code generators and coding assistance tools have their limitations. For example, while GitHub has over 250 million code repositories alone, most of the data is unannotated. Theres only a few examples that describe precisely what the code does, posing a particular challenge for any system that cant learn from unlabeled data.
In an effort to address this, IBM recently released CodeNet, a 14-million-sample labeled dataset with 500 million lines of code written in 55 programming languages. The company claims that the rich annotations added to CodeNet make it suitable for a diverse set of tasks as opposed to other datasets specialized for specific programming tasks. Already, researchers at IBM have conducted several experiments with CodeNet, including code classification, code similarity evaluation, and code completion.
It is my speculation that in the next decade, code semantics understanding systems are likely to be one of the most important areas of machine programming in the coming decade, Joubert said. It depends on the domain the machine programming system is being applied to. For small programs, such as unit tests or regression tests, full program synthesizers are a reality today. Yet, for larger programs, its currently computationally intractable for machine programming systems to generate the potential thousands or millions of lines of code without the assistance of a programmer.
Boris Paskalev, the cofounder and CEO of DeepCode, calls creating a couple of lines of code with AI more of a toy than a productivity breakthrough. While techniques like natural language processing work well with text because theres fixed limits on the words and syntax that need to be understood, code isnt the same, he argues.
Since there are no formal rules for software development, [programming] is an art that requires a complete understanding of code and a developers intentions to produce something that works as expected without bugs, Paskalev told VentureBeat. As far as weve come in using machine learning and neural networks for code, were still only in the invention of the wheel phase machine learning is already proving to be very useful for code, but only after it goes through a semantic machine learning-representation of the code: making sure all semantic facts, variables, transitions, and logical interrelations are clearly represented and considered by the learning model.
To Paskalevs point, recent studies suggest that AI has a ways to go before it can reliably generate code. In June, a team of researchers at the University of California at Berkeley, Cornell, the University of Chicago, and the University of Illinois at Urbana-Champaign released APPS, a benchmark for code generation from natural language specifications. The team tested several types of models on APPS, including OpenAIs GPT-2, GPT-3, and an open source version of GPT-3 called GPT-Neo. In experiments, they discovered that the models could learn to generate code that solves easier problems but not without syntax errors. Approximately 59% of GPT-3s solutions for introductory problems had errors, while the best-performing model GPT-Neo attained only 10.15% accuracy.
When generating code from whole cloth, there are typically challenges around both specifying the intent and consuming the results, Tabine CEO Dror Weiss told VentureBeat. User intent can be specified in natural language by providing examples, writing code in a higher-level language, or in other means. But in most cases, this intent does not provide a full specification of the desired behavior. Also, the generated code may be following different route than what the developer had in mind. As such, it may be challenging for the developer to judge whether the code performs the desired operation exactly.
Facebook AI researchers Baptiste Rozire and Marie-Anne Lachaux, who worked on TransCoder, agree with Tabines assessment. It is inherently difficult to generate correct code from unspecific natural language problem descriptions that could correspond to several different code snippets. An easier task would be to generate code from an input that is more specific and closer to the output code, like pseudo-code or code written in a different language, they told VentureBeat. A huge obstacle to the adoption of methods generating large amounts of code without human supervision is that they would need to be extremely reliable to be used easily. Even a tool that could generate methods with 99% accuracy would fail to generate a working codebase of hundreds of functions. It could speedup the code generation process but would still require human testing and intervention.
Rozire and Lachaux also point out that tasks around code generation are generally much harder than classification tasks because the model has a lot of freedom and can create many different outputs, making it hard to control the correctness of the generation. Moreover, compared with natural languages, programming languages are very sensitive to small errors. A one-character difference can change the semantics of the code and make the output faulty.
Current machine learning algorithms may not be able to generalize well enough to different problems to match human performance for coding interviews without larger datasets or much better unsupervised pre-training methods, Rozire and Lachaux said.
Paskalev thinks itll be at least five to ten years until natural language processing enables developers to create meaningful components or even entire apps from a simple description. But Gottschlich is more optimistic. He notes that AI-powered coding tools arent just valuable in writing code, but also when it comes to lower-hanging fruit like upgrading existing code. Migrating an existing codebase to a modern or more efficient language like Java or C++, for example, requires expertise in both the source and target languages and its often costly. The Commonwealth Bank of Australia spent around $750 million over the course of five years to convert its platform from COBOL to Java.
Deep learning already enables us to cover the smaller tasks, the repetitive and redundant ones which clutter a software engineers routine. Today, AI can free software engineers from tedious tasks slowing them down and decreasing their creativity, Gottschlich said. The human mind remains far superior when it comes to creation, innovation, and designing the most complex parts of our softwares. Enabling them to increase velocity in these exciting, high added value parts of their work is, I believe, the most interesting way to leverage the power of machine learning today.
Joubert and Weiss say that the potential business value of machine programming also cant be ignored. An estimated 19% to 23% of software development projects fail, with that statistic holding steady for the past couple of decades. Standish Groupfound that challenged projects i.e., those that fail to meet scope, time, or budget expectations account for about 52% of software projects. Often, a lack of user involvement and clear requirements are to blame for missed benchmarks.
We see a great number of new tools using AI to enhance legacy code and help existing assets reach industrial-grade standards. We can elevate developer legacy code management workflows and be part of reducing the hefty level of technical debt built up over the past 50 years in the software industry, Joubert said. The days when developers had to write and read code line by line are gone. Im excited to see how the other steps in the software development lifecycle are going to be transformed and how tools will reach the same level that Kite or Snyk have attained. Leveraging AI to build efficient, one-purpose, tested, secure, and documented code effortlessly is going to profoundly change the way software companies can create incremental value and innovation.
From Weiss perspective, AI-powered coding tools can reduce costly interactions between developers like Q&A sessions and repetitive code review feedback while shortening the project onboarding process. [These] tools make all developers in the enterprise better. They take the collective code intelligence of the organization and make it available, during development time, to all developers. This allows any developer on the team to punch above their weight, he said.
For AI coverage, send news tips toKyle Wiggers and be sure to subscribe to the AI Weekly newsletterand bookmark our AI channel,The Machine.
Thanks for reading,
Kyle Wiggers
AI Staff Writer
See the rest here:
AI Weekly: The promise and limitations of machine programming tools - VentureBeat
- Fantastic (free) plugins and how to use them: Full Bucket FB-3300 - MusicRadar - April 27th, 2025 [April 27th, 2025]
- The best free software for your gaming PC in 2025: programs you need to know - TechRadar - April 27th, 2025 [April 27th, 2025]
- postmarketOS on developing free and open source software to extend the life of consumer electronics - Association for Progressive Communications - April 27th, 2025 [April 27th, 2025]
- Take it from an expert: This is the best Windows backup software - pcworld.com - April 27th, 2025 [April 27th, 2025]
- WeThinkCode_ Tuition-Free Two years Software Development Programme 2025 for young Africans in South Africa. - Opportunities For Africans - April 27th, 2025 [April 27th, 2025]
- Samsung Galaxy handsets could get a massive free software upgrade as soon as this summer - MSN - April 14th, 2025 [April 14th, 2025]
- A Free Software Program Helped Create This Oscar-Winning Movie And Thats a Big Deal - Collider - April 8th, 2025 [April 8th, 2025]
- Samsung Galaxy handsets could get a massive free software upgrade as soon as this summer - t3.com - April 8th, 2025 [April 8th, 2025]
- More Than 200 Manufacturers Download Free Work Instruction Software - Assembly Magazine - April 8th, 2025 [April 8th, 2025]
- Windows' Photoshop Alternative Is Actually Good Now, and It's Free - Lifehacker - April 8th, 2025 [April 8th, 2025]
- I've tried a lot of different backup software, and I keep coming back to this free, open-source tool - XDA - April 8th, 2025 [April 8th, 2025]
- Home Assistant is the best example of what free and open-source software should be - XDA - April 8th, 2025 [April 8th, 2025]
- Intel Unison, a powerful free app bridging Android phones and PCs, is shutting down - Android Central - April 8th, 2025 [April 8th, 2025]
- TugImgSynth, free image wavetable Synthesizer plugin for macOS and Windows - synth anatomy - April 8th, 2025 [April 8th, 2025]
- Garmin wants you to pay for AI features and enhanced software updates - is it worth it? - ZDNET - April 8th, 2025 [April 8th, 2025]
- Apple announces software update to AirPods Max, and you can get it for free; heres how - Fortune India - March 25th, 2025 [March 25th, 2025]
- Download Free PDF Reader (free) for Windows, macOS and Linux - Gizmodo - March 25th, 2025 [March 25th, 2025]
- 5 best free alternatives to Adobe creative software you should use instead - XDA Developers - March 25th, 2025 [March 25th, 2025]
- Best free Adobe Illustrator alternatives of 2025 - TechRadar - March 25th, 2025 [March 25th, 2025]
- Ocean Swift revives its free Legacy Synthesizer plugins with VST3 support: part 1 bundle - Synth Anatomy - March 25th, 2025 [March 25th, 2025]
- I've found the easiest way to learn Blackmagic's Da Vinci Resolve 19 and it's free - Creative Bloq - March 25th, 2025 [March 25th, 2025]
- Download PDFgear (free) for Windows, macOS, Android, iOS and Web App - Gizmodo - March 25th, 2025 [March 25th, 2025]
- U-he Tyrell N6 3.0, free Synthesizer plugin gets major update with Apple Silicon support, and more - Synth Anatomy - March 25th, 2025 [March 25th, 2025]
- GIMP 3.0 Is Here The Best Free Graphics Editor Just Got Better - 9Meters.com - March 18th, 2025 [March 18th, 2025]
- File Your Tax Return for Free: What to Know About the IRS Free File Program and Its Limitations - CNET - March 18th, 2025 [March 18th, 2025]
- Freeware image editor GIMP 3.0 arrives after seven years of incubation - Tom's Hardware - March 18th, 2025 [March 18th, 2025]
- A Perfect Day - for iOS - Free download and software reviews - Download.com - March 18th, 2025 [March 18th, 2025]
- Oscar winner Gints Zilbalodis: Its really cool that we can make these films with free software - The Irish Times - March 18th, 2025 [March 18th, 2025]
- A government program made tax filing free and more efficient. Musk and DOGE may get rid of it anyway - MyFoxZone.com KIDY - March 18th, 2025 [March 18th, 2025]
- Winner of Best Animated Film at the 2025 Oscars Was Made on Free Software - The Express Tribune - March 18th, 2025 [March 18th, 2025]
- Deep Research could be the next Gemini feature to hit free users, per report - Android Central - March 9th, 2025 [March 9th, 2025]
- As Flow takes home the Oscar using only free software, fans troll"Disneys worst nightmare is indie animators with talent" - Soap Central - March 9th, 2025 [March 9th, 2025]
- The best animation Oscar winner was made in totally free software that anyone can use - Yahoo Entertainment - March 9th, 2025 [March 9th, 2025]
- Best free WinZip alternative of 2025 - TechRadar - March 9th, 2025 [March 9th, 2025]
- YouTube's affordable ad-free Premium Lite plan officially rolls out in the U.S. - Android Central - March 9th, 2025 [March 9th, 2025]
- 303 Day: Get Rolands TB-303 software version absolutely free but youll have to be quick - MusicTech - March 9th, 2025 [March 9th, 2025]
- Everybody needs a 303, and Roland is giving away its software version free for 303 Day but be quick, theres only 3,030 copies up for grabs -... - March 3rd, 2025 [March 3rd, 2025]
- News: Free QNX Everywhere software resources now available - A3 Association for Advancing Automation - March 1st, 2025 [March 1st, 2025]
- How do I file my taxes for free? Federal and Ohio state services to know about this year - The Columbus Dispatch - March 1st, 2025 [March 1st, 2025]
- How to file your taxes for free in 2025 - CNBC - March 1st, 2025 [March 1st, 2025]
- Microsoft quietly tests free, ad-supported version of Office apps for Windows with limited functionality - Windows Central - March 1st, 2025 [March 1st, 2025]
- Empty Out Your Gmail Inbox and Get Back 15GB of Storage - CNET - March 1st, 2025 [March 1st, 2025]
- Google releases free version of AI platform that speeds coding - Business in Vancouver - March 1st, 2025 [March 1st, 2025]
- H&R Block vs. TurboTax vs. Jackson Hewitt: Whats the Difference? - Investopedia - February 25th, 2025 [February 25th, 2025]
- All the Ways You Can File for Free This Year, From TurboTax to FreeTaxUSA - CNET - February 18th, 2025 [February 18th, 2025]
- Best free video editing software of 2025: Top picks for every project and skill-level - TechRadar - February 14th, 2025 [February 14th, 2025]
- 500,000 U.S. Lawyers Now Have Free Access to Trust Software through Bar Partnerships with Smokeball - LawSites - February 14th, 2025 [February 14th, 2025]
- Best Tax Software 2025: TurboTax Leads the Pack, but These Options May Work Better for You - CNET - February 14th, 2025 [February 14th, 2025]
- Photopea Is a Free Photoshop Alternative That Runs in the Browser - WIRED - February 14th, 2025 [February 14th, 2025]
- Freedom Reimagined: Meet the Free Software Foundations 40th Anniversary Logo - It's FOSS News - January 24th, 2025 [January 24th, 2025]
- Free Software Foundation Marking 40 Years Old With A New Logo - Phoronix - January 24th, 2025 [January 24th, 2025]
- Coros smartwatches just got a big free software update here are the best new features - MSN - January 24th, 2025 [January 24th, 2025]
- Best personal finance software of 2025 - TechRadar - January 24th, 2025 [January 24th, 2025]
- Free Mac Email Apps That Stand Out in 2025: A Comprehensive Guide - PUNE.NEWS - January 24th, 2025 [January 24th, 2025]
- Free-software warriors celebrate landmark case that enforced GNU LGPL - The Register - January 13th, 2025 [January 13th, 2025]
- This free software is topping the Steam charts, but its not a game - Notebookcheck.net - January 13th, 2025 [January 13th, 2025]
- IRS offering free tax filing services to millions starting this week - KSWO - January 13th, 2025 [January 13th, 2025]
- The best Android antivirus apps in 2025 - Tom's Guide - January 13th, 2025 [January 13th, 2025]
- GIMP vs Krita: which free software is best for you? - Creative Bloq - January 6th, 2025 [January 6th, 2025]
- Mensla MS-3, free waveshaper Synthesizer plugin for macOS and Windows - Synth Anatomy - January 6th, 2025 [January 6th, 2025]
- Tesla fixes TPMS issue on nearly 700,000 vehicles with free software update - Drive Tesla Canada - December 25th, 2024 [December 25th, 2024]
- STRACKALINE TO OFFER EXCLUSIVE FREE SOFTWARE ACCESS AT THE 2025 PGA SHOW (BOOTH 2808) - The Golf Wire - December 18th, 2024 [December 18th, 2024]
- The Pixel 6 just got a free software upgrade that makes it my favorite budget Android phone - ZDNet - December 12th, 2024 [December 12th, 2024]
- Google just gave older Pixel phones a free software upgrade that you once could only wish for - ZDNet - December 8th, 2024 [December 8th, 2024]
- Free AI-Powered Software for Radiology Impressions Available from Scriptor Software - Imaging Technology News - December 8th, 2024 [December 8th, 2024]
- Maryland State Bar Members Now Get Free Trust Accounting Software in Deal with Smokeball - LawSites - December 5th, 2024 [December 5th, 2024]
- 7 free and open-source tools that rival the best creative software - XDA Developers - December 5th, 2024 [December 5th, 2024]
- Google Drive Full? Gift Yourself More Digital Storage This Holiday Season - CNET - November 30th, 2024 [November 30th, 2024]
- Tired of controller lock-in? Mixxx is a free DJ alternative; 2.4.2 out now - Create Digital Music - November 28th, 2024 [November 28th, 2024]
- 5 of the best free software for data recovery on Windows - XDA Developers - November 23rd, 2024 [November 23rd, 2024]
- AAVAA Hands-Free Accessibility Devices Now Compatible with Apple Software - The Hearing Review - November 17th, 2024 [November 17th, 2024]
- The best graphic design software - Creative Bloq - November 16th, 2024 [November 16th, 2024]
- VMware makes Workstation and Fusion free for everyone - BleepingComputer - November 16th, 2024 [November 16th, 2024]
- Trimble Expands Access to Advanced Construction Project Management Capabilities with Free Version of ProjectSight Software - StreetInsider.com - November 16th, 2024 [November 16th, 2024]
- The best free video editing software: how to cut clips without the cost - Creative Bloq - November 8th, 2024 [November 8th, 2024]
- Best Free Invoice And Billing Software Of 2024 - Forbes - November 8th, 2024 [November 8th, 2024]
- Amazfit just dropped a massive free software update and these new features are coming to your smartwatch - Tom's Guide - November 5th, 2024 [November 5th, 2024]
- The Free Software Foundation Finally Has AI / Machine Learning Apps On Their Radar - Phoronix - October 24th, 2024 [October 24th, 2024]
- Intuit asked us to delete part of this Decoder episode - The Verge - October 24th, 2024 [October 24th, 2024]
- "100% Free" GNU Boot Discovers Again They Have Been Shipping Non-Free Code - Phoronix - October 24th, 2024 [October 24th, 2024]