The AI Show - AI-assisted software development



AI Summary

Summary: AI-Assisted Software Development on the AI Show

  • Guest: Antonio Alegria, Head of AI at OutSystems
  • Topic: AI-assisted software development platform

AI Assistance in Development

  • AI is not replacing developers but making development easier and quicker.
  • OutSystems has an AI-assisted development platform with a low-code approach.
  • The AI assistant suggests the top three most likely actions a developer might want to take next.
  • It provides specific suggestions based on the developer’s business logic and auto-fills variables and properties.
  • The assistant reduces the number of options developers need to consider and enforces best practices.
  • It also serves as a learning tool for novice developers.

Training AI for Software Development

  • OutSystems uses a visual programming language, which is conceptually similar to languages like C# and Java.
  • Training the AI takes about a day, utilizing over 15 million instances of code patterns.
  • The data is not standard tabular, image, or text data but graph data, which requires graph neural networks for deep learning.
  • The focus is currently on logic development language, with plans to expand to other areas.

Motivation for the Project

  • OutSystems aims to enable organizations to innovate without limits and keep up with market disruptors.
  • The platform helps companies develop software more quickly than traditional methods.
  • The AI project addresses the talent gap by embedding an “artificial tech lead” to automate, guide, and validate developers’ work.

AI Technologies Used

  • Graph neural networks are a key technology used, different from convolutional neural networks for images or NLP for text.
  • OutSystems developed “Code X-Ray” to analyze code data and create augmented graphs.
  • They use TensorFlow, Python, and a mix of deep learning with classical logic-based AI systems (automated reasoning) for certainty in code suggestions.

Challenges and Results

  • Challenges include finding the right user experience for probabilistic suggestions and catering to different developer skill levels.
  • Results show developers can focus more on building, accomplish tasks faster, and novices learn more quickly.
  • The AI has reduced cognitive load, errors, and code review turnaround time.

Current Status and Future Plans

  • OutSystems is shipping weekly improvements and focusing on expanding AI assistance to other development areas, such as UI and quality analysis.
  • They are exploring how to assist novices further and considering how to apply AI to SQL, CSS, and JavaScript within their platform.
  • Partnerships with universities are looking into generating code from examples.

AI’s Influence on Software Development

  • Gartner predicts that by 2022, 40% of development teams will have AI co-pilots.
  • In the next few years, every significant developer tool will likely have some AI assistance.
  • AI will automate grunt work, allowing developers to focus on more creative tasks.
  • Replacing developers with AI is far off and would imply achieving AGI.

Conclusion

  • The conversation on the AI show highlighted the positive impact of AI on software development and the ongoing efforts to integrate AI into various aspects of the development process.