arXiv Science⌕ Search

arXiv subjects

Grant Dick

Publications and source records attributed to Grant Dick.

4 recordsLinked to original sources

Characterizing and Predicting the Longest CI Builds in Machine Learning Projects

Continuous integration (CI) builds in machine learning (ML) projects tend to run longer than in other projects, yet little is known about the longest builds, which consume most CI time. This paper characterizes the longest builds in ML projects, analyzes how CI workflow properties are associated with them, and evaluates whether they can be predicted before execution. We study 269,930 GitHub Actions builds from 107 open-source ML projects. The top 18% longest builds account for 80.30% of total build time and fail in 39.09% of cases. Build duration differs significantly across ML project types. The framework and infrastructure ML projects have the longest upper tail and produce 98% of the longest builds, whereas projects that use existing ML libraries have the lowest median build duration. The longest builds are most strongly associated with the recent history of the same workflow, as the duration of its last build and the median duration of the project's last 20 builds show large effect sizes. The longest builds are more consistently associated with CI workflow structure than with configuration. The number of jobs, control flow complexity, coupling complexity, and maximum steps per job show medium effect sizes, whereas caching, matrix settings, and Docker builds show small or negligible effects. Framework-specific workflows have the largest percentage of builds among long builds. Platform-specific workflows produce the largest number of the longest builds. Finally, 47 features describing build history, workflow structure, and the ML project outperform a traditional baseline with all four classifiers. In a chronological evaluation, the best model (XGBoost) reaches an F1-score of 0.775, compared with 0.682 for the baseline, and an AUC-ROC of 0.955. These results show that build history and CI workflow structure help identify the longest builds in ML projects before they run.

cs.SE↗

Is this Build Failure Related to my Patch? An Empirical Study of Unrelated Build Failures in Continuous Integration

Continuous Integration (CI) systems often run many builds concurrently. In this setting, a legitimate build failure may not be caused by the code push that triggered it. Such unrelated build failures can waste developer effort because developers must determine whether the failure is actionable for their current change. We study 77,354 CI build failures from seven open source Apache projects to understand and predict unrelated build failures. We find that developers spend a median of 4 hours identifying whether a failure is related or unrelated to their push. We also perform a document analysis of 371 confirmed unrelated build failures sampled from 10,316 potentially unrelated failures. The analysis shows that unrelated test failures account for 20% of the cases in which developers classify build failures as unrelated. To predict unrelated build failures, we extract 33 features from issue reports, issue comments, and commits associated with the triggering push. We build semi-supervised Positive and Unlabeled (PU) learning models for seven Apache projects. The models achieve precision from 0.70 to 0.88, recall from 0.30 to 1.00, F1-score from 0.44 to 0.91, and AUC from 0.63 to 0.97. Feature importance analysis shows that CI latency, repeated error messages, and the number of preceding comments are useful indicators of unrelated build failures. These results show that PU learning can help developers identify build failures that are unlikely to be caused by their current push.

cs.SE↗

Initialisation and Grammar Design in Grammar-Guided Evolutionary Computation

Grammars provide a convenient and powerful mechanism to define the space of possible solutions for a range of problems. However, when used in grammatical evolution (GE), great care must be taken in the design of a grammar to ensure that the polymorphic nature of the genotype-to-phenotype mapping does not impede search. Additionally, recent work has highlighted the importance of the initialisation method on GE's performance. While recent work has shed light on the matters of initialisation and grammar design with respect to GE, their impact on other methods, such as random search and context-free grammar genetic programming (CFG-GP), is largely unknown. This paper examines GE, random search and CFG-GP under a range of benchmark problems using several different initialisation routines and grammar designs. The results suggest that CFG-GP is less sensitive to initialisation and grammar design than both GE and random search: we also demonstrate that observed cases of poor performance by CFG-GP are managed through simple adjustment of tuning parameters. We conclude that CFG-GP is a strong base from which to conduct grammar-guided evolutionary search, and that future work should focus on understanding the parameter space of CFG-GP for better application.

cs.NE↗

Interval Arithmetic and Interval-Aware Operators for Genetic Programming

Symbolic regression via genetic programming is a flexible approach to machine learning that does not require up-front specification of model structure. However, traditional approaches to symbolic regression require the use of protected operators, which can lead to perverse model characteristics and poor generalisation. In this paper, we revisit interval arithmetic as one possible solution to allow genetic programming to perform regression using unprotected operators. Using standard benchmarks, we show that using interval arithmetic within model evaluation does not prevent invalid solutions from entering the population, meaning that search performance remains compromised. We extend the basic interval arithmetic concept with `safe' search operators that integrate interval information into their process, thereby greatly reducing the number of invalid solutions produced during search. The resulting algorithms are able to more effectively identify good models that generalise well to unseen data. We conclude with an analysis of the sensitivity of interval arithmetic-based operators with respect to the accuracy of the supplied input feature intervals.

cs.NE↗