A software engineering perspective on engineering machine learning systems: State of the art and challenges

G Giray - Journal of Systems and Software, 2021 - Elsevier
Context: Advancements in machine learning (ML) lead to a shift from the traditional view of
software development, where algorithms are hard-coded by humans, to ML systems …

Test case selection and prioritization using machine learning: a systematic literature review

R Pan, M Bagherzadeh, TA Ghaleb… - Empirical Software …, 2022 - Springer
Regression testing is an essential activity to assure that software code changes do not
adversely affect existing functionalities. With the wide adoption of Continuous Integration …

Software fault prediction using data mining, machine learning and deep learning techniques: A systematic literature review

I Batool, TA Khan - Computers and Electrical Engineering, 2022 - Elsevier
Software fault/defect prediction assists software developers to identify faulty constructs, such
as modules or classes, early in the software development life cycle. There are data mining …

Large-scale machine learning systems in real-world industrial settings: A review of challenges and solutions

LE Lwakatare, A Raj, I Crnkovic, J Bosch… - Information and software …, 2020 - Elsevier
Background: Developing and maintaining large scale machine learning (ML) based
software systems in an industrial setting is challenging. There are no well-established …

A survey on machine learning techniques for source code analysis

T Sharma, M Kechagia, S Georgiou, R Tiwari… - arXiv preprint arXiv …, 2021 - arxiv.org
The advancements in machine learning techniques have encouraged researchers to apply
these techniques to a myriad of software engineering tasks that use source code analysis …

Engineering ai systems: A research agenda

J Bosch, HH Olsson, I Crnkovic - Artificial intelligence paradigms for …, 2021 - igi-global.com
Artificial intelligence (AI) and machine learning (ML) are increasingly broadly adopted in
industry. However, based on well over a dozen case studies, we have learned that …

Flakeflagger: Predicting flakiness without rerunning tests

A Alshammari, C Morris, M Hilton… - 2021 IEEE/ACM 43rd …, 2021 - ieeexplore.ieee.org
When developers make changes to their code, they typically run regression tests to detect if
their recent changes (re) introduce any bugs. However, many tests are flaky, and their …

A literature review of using machine learning in software development life cycle stages

S Shafiq, A Mashkoor, C Mayr-Dorn, A Egyed - IEEE Access, 2021 - ieeexplore.ieee.org
The software engineering community is rapidly adopting machine learning for transitioning
modern-day software towards highly intelligent and self-learning systems. However, the …

Reinforcement learning for test case prioritization

M Bagherzadeh, N Kahani… - IEEE Transactions on …, 2021 - ieeexplore.ieee.org
Continuous Integration (CI) significantly reduces integration problems, speeds up
development time, and shortens release time. However, it also introduces new challenges …

Learning-to-rank vs ranking-to-learn: Strategies for regression testing in continuous integration

A Bertolino, A Guerriero, B Miranda… - Proceedings of the …, 2020 - dl.acm.org
In Continuous Integration (CI), regression testing is constrained by the time between
commits. This demands for careful selection and/or prioritization of test cases within test …