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.