“…The research on using machine learning in software engineering has a rich history. Examples of software engineering problems to which machine learning was applied include (1) predicting fault-prone or costly-to-maintain software system components based on historical information [80][81][82], (2) classifying field executions as passing or failing runs [83,84], (3) duplicate bug report detection [85][86][87], (4) bug localization [88,89], (5) code search, code completion, code mining, code clone detection and code synthesis [90][91][92][93][94][95][96], (6) learning how to apply patches [97,98], (7) prioritizing test programs for compilers [99], (8) selecting and prioritizing test cases [100], (9) establishing traceability links between artefacts of the system [101], (10) statically detecting flaky tests [102], and (11) classifying warnings from SCA tools [44,45,65,[103][104][105][106][107][108][109][110][111][112][113][114]…”