What can AI do for software engineering, and how can we as software engineers design and build better AI systems?
As AI continues to disrupt many fields from agriculture to manufacturing, it’s important to explore the essential connections between AI and software engineering. For this issue, we will investigate AI in four primary areas:
1. The creation of AI software (How do we architect, build, maintain, deploy, test, and verify AI software?)
2. The application of AI to software engineering (How can AI help software engineers better do their jobs and advance the state of the practice?)
3. AI and software engineering in use (How have applications blended AI and software engineering so far?)
4. The AI landscape and its effect on software engineering (How do related topics such as AI technology investment, ethics, data collection, and security affect the work of software developers?)
AI has reached a state of maturity where it could take software engineering to new heights, but it also brings new challenges. Applying AI to various software engineering tasks has already shown to increase effectiveness and efficiency. As this level of “intelligence” in software engineering solutions increases, we must determine how to synergistically integrate machine intelligence and human intelligence effectively. Are we entering an era of “programming 2.0” where code is mostly written, tested, and maintained by AI systems? And if so, what then is the role of humans in guiding AI to create software systems?
AI also affects established methods for planning, developing, acquiring, deploying, testing, and verifying software. We should also remember that AI software is still software, and when it breaks, software engineers have to fix it. What can we do to better engineer AI software to make it more maintainable, extensible, and scalable? How can we integrate AI software with existing software? Many large companies are also opening their AI platforms to third-party developers: with everyone in the world having access to the same powerful AI tools as the world’s leading technology companies, what effect will it have on software development as a whole?
In addition, we welcome submissions that demonstrate the effects the AI landscape is having on software engineers. How has it changed the way we work? If much of our social interactions are mitigated by software and that software is controlled by AI, is there a social responsibility of software engineers in ensuring their software is “fair”? What steps are we taking to prepare for an AI future?
Please note that IEEE Software accepts only papers geared toward practitioners.