Coat of Arms of the Republic of Colombia Coat of Arms of the Republic of Colombia

Automated Software Engineering

The Automated Software Engineering research line investigates intelligent methods and tools that automate the software development life cycle.

Leader Liliana Marcela Olarte Mesa Liliana Marcela Olarte Mesa
Automated Software Engineering
Description

The Automated Software Engineering research line focuses on the development and application of methods, models, and intelligent tools that automate or augment activities throughout the software development life cycle. We investigate how artificial intelligence, machine learning, large language models, program analysis, and software engineering automation can improve the productivity, quality, reliability, and maintainability of software systems.

Our research explores the transition from traditional software development toward increasingly intelligent and autonomous engineering environments, where developers collaborate with automated agents and AI-assisted tools for requirements engineering, software design, code generation, testing, maintenance, and evolution. Through this line, we seek to advance both the scientific foundations and practical adoption of automation technologies that support the construction of complex software systems.

Research Topics

AI-Assisted Software Development

Study and development of intelligent techniques that support software engineers during requirements analysis, design, implementation, debugging, documentation, and maintenance. Special attention is given to Large Language Models (LLMs), coding assistants, and AI-based software engineering agents.

Automated Program Synthesis and Code Generation

Methods for automatically generating software artifacts from requirements, specifications, models, examples, or natural-language descriptions. Research includes program synthesis, model-to-code transformations, generative AI, and automatic software construction.

Intelligent Software Testing and Quality Assurance

Development of automated approaches for test generation, test prioritization, defect prediction, fault localization, and software verification. We investigate the use of machine learning and generative AI to improve testing efficiency, software reliability, and quality assurance processes.

Software Engineering Agents and Autonomous Development

Design of intelligent and autonomous agents capable of planning and executing software engineering tasks, interacting with development environments, repositories, APIs, and other agents. Research includes multi-agent software engineering environments and human–AI collaboration in software development.

Software Maintenance and Evolution Automation

Techniques for automating software modernization, refactoring, code migration, technical-debt identification, dependency management, and legacy-system evolution. The objective is to facilitate the continuous adaptation of software systems to technological and organizational change.