Machine learning has radically changed what computing can accomplish, including the limits of what software engineering can do. I will discuss recent software engineering advances machine learning has enabled, from automatically repairing software bugs to data-driven software systems that automatically learn to make decisions. Unfortunately, with the promises of these new technologies come serious perils. For example, automatically generated program patches can break as much functionality as they repair. And self-learning, data-driven software can make decisions that result in unintended consequences, including unsafe, racist, or sexist behavior. But to build solutions to these shortcomings we may need to look no further than machine learning itself. I will introduce multiple ways machine learning can help verify software properties, leading to higher-quality systems.
@inproceedings{Brun22MaLTeSQuE, author = {Yuriy Brun}, title = {\href{http://people.cs.umass.edu/brun/pubs/pubs/Brun22MaLTeSQuE.pdf}{The Promise and Perils of Using Machine Learning When Engineering Software (Keynote Paper)}}, booktitle = {Proceedings of the International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE)}, venue = {MaLTeSQuE Keynote}, month = {November}, year = {2022}, date = {18}, pages = {1--4}, address = {Singapore}, doi = {10.1145/3549034.3570200}, note = {\href{https://doi.org/10.1145/3549034.3570200}{DOI: 10.1145/3549034.3570200}}, abstract = {<p>Machine learning has radically changed what computing can accomplish, including the limits of what software engineering can do. I will discuss recent software engineering advances machine learning has enabled, from automatically repairing software bugs to data-driven software systems that automatically learn to make decisions. Unfortunately, with the promises of these new technologies come serious perils. For example, automatically generated program patches can break as much functionality as they repair. And self-learning, data-driven software can make decisions that result in unintended consequences, including unsafe, racist, or sexist behavior. But to build solutions to these shortcomings we may need to look no further than machine learning itself. I will introduce multiple ways machine learning can help verify software properties, leading to higher-quality systems.</p>}, }