Are We Keeping up With the Innovation in Generative AI?
Achieving automatic, valid, verified answers from generative AI models, is a goal that many of us are working on. We must find a way to make sure we have reliable and trustworthy results despite numerous challenges in the field.
Research Versus Practice in Quantum Software Engineering: Experiences From Credit Scoring Use Case
- Petri Liimatta,
- Pauli Taipale,
- Kimmo Halunen,
- Teiko Heinosaari,
- Tommi Mikkonen,
- Vlad Stirbu,
- Cesare Pautasso,
- Olaf Zimmermann
The emergence of quantum computing proposes a revolutionary paradigm that can radically transform numerous scientific and industrial application domains. However, realizing this promise in industrial applications is far from being practical today. In this ...
The Magazine at 40: Viewing Requirements Engineering Through a Ruby Lens
In this final issue of the year, we mark a milestone: IEEE Software’s 40th anniversary—a ruby jubilee! While this column still awaits the silver achievement badge (25 years)—Suzanne Robertsson founded it in the early millennium—I’m pleased to present a ...
Understanding and Designing for Trust in AI-Powered Developer Tooling
- Ambar Murillo,
- Alberto Elizondo,
- Sarah D’Angelo,
- Adam Brown,
- Ugam Kumar,
- Quinn Madison,
- Andrew Macvean,
- Ciera Jaspan,
- Collin Green
Trust is central to how developers engage with AI. In this article, we discuss what we learned from developers about their level of trust in AI powered developer tooling, and how we translated those findings into product design recommendations to support ...
Refactoring With Regular Expressions
Code refactoring is an essential part of software development, because it reduces technical debt, enhances long-term code sustainability, and enables the implementation of functionality that might have been incompatible with an original design. IDEs ...
Generative AI: Redefining the Future of Software Engineering
This special issue about Generative AI (GAI) for software engineering refers to applying generative models and algorithms in software development, testing, maintenance and evolution. This special issue features five articles where you will see some ...
Tales From the Trenches: Expectations and Challenges From Practice for Code Review in the Generative AI Era
In this study, we investigate what has been discussed about generative AI in the code review context by performing a gray literature review. We analyzed 42 documents and found insights from practice and proposals of solutions using generative AI models.
Generative AI for Software Security Analysis: Fundamentals, Applications, and Challenges
This article delves into the potential opportunities and challenges that generative AI introduces to software security analysis based on its fundamentals and applications. In addition, a simple case is used to demonstrate the validity of our outlook.
Generative AI to Generate Test Data Generators
- Benoit Baudry,
- Khashayar Etemadi,
- Sen Fang,
- Yogya Gamage,
- Yi Liu,
- Yuxin Liu,
- Martin Monperrus,
- Javier Ron,
- André Silva,
- Deepika Tiwari
High quality data is essential for designing effective software test suites. We propose three original methods for using large language models to generate representative test data, which fit to the domain of the program under test and are culturally ...
Generative AI Copilot to Support Safety Analyses of Human–Robot Collaborations: Hazard Operability Analysis and GPT-4
This article presents a novel framework that combines the hazard and operability analysis with generative AI to support a safety expert in identifying safety hazards, their causes and consequences, and to propose mitigation strategies.
Generative AI in the Software Modeling Classroom: An Experience Report With ChatGPT and Unified Modeling Language
The use of generative AI chatbots in formative assessment can effectively gauge learning progress, increase the academic performance of students compared to a traditional methodology, and raise student awareness about the tradeoffs of employing generative ...
How Trustworthy Is Your Continuous Integration (CI) Accelerator?: A Comparison of the Trustworthiness of CI Acceleration Products
Continuous integraton (CI) accelerators “turbo-charge” developer feedback cycles, but make mistakes. By replaying failing CI jobs, we study the trustworthiness of CI accelerators. Both studied products have limitations, but the program analysis product is ...
Toward Responsible AI in the Era of Generative AI: A Reference Architecture for Designing Foundation Model-Based Systems
To address AI architecture design challenges, we present an architecture evolution of AI systems in the era of foundation models, transitioning from “foundation-model-as-a-connector” to “foundation-model-as-a-monolithic architecture.” We then identify key ...
The Blockchain Trilemma: An Evaluation Framework
We present a validated framework for the evaluation and comparison of three main third-generation blockchain categories, based on the three main nonfunctional aspects that discriminate their use for the design and orchestration of complex blockchain-...
The Fine Balance Between Helping With Your Job and Taking It: AI Code Assistants Come to the Fore
AI code generation tools are reshaping the software engineering landscape. We provide recommendations for practitioners interested in these tools based on narratives we have collected regarding two AI code generation tools, GitHub Copilot and Tabnine.
Have You Done Any Interactive Work Today?: An Empirical Study on the Relationship Between Customer Interaction and Psychological Stress in German Software Developers
We discuss similarities between interactive work in nursing and software engineering, presenting the results of an empirical study with 82 German software developers. We show that software engineering is affected by similar stress to nursing, concluding ...
Emerging Trends in Requirements Engineering and Testing
- Silvia Abrahão,
- Miroslaw Staron,
- Gregory Gay,
- Birgit Penzenstadler,
- Chetan Honnenahalli,
- Silvia Abrahão,
- Miroslaw Staron
Requirements engineering plays a crucial role in understanding stakeholder needs, ensuring quality attributes, and facilitating effective communication in various domains. Software testing helps ensure that software products meet requirements and quality ...
AI Over-Hype: A Dangerous Threat (and How to Fix It)
An ethical approach to AI need not be revolutionary or exceptional. We argue that it is the ethical duty of software professionals to rally against AI over-hype. As shown here, this is not hard to do. If we apply just simple empirical methods, we can ...
Ipek Ozkaya on Generative AI for Software Architecture
In Episode 626 of “Software Engineering Radio,” Ipek Ozkaya, principal researcher and technical director of the Engineering Intelligent Software Systems Group at the Software Engineering Institute, Carnegie Mellon, discusses generative AI for software ...