The Promise and Perils of Using Machine Learning When Engineering Software (Keynote Paper)
by Yuriy Brun
Abstract:

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.

Citation:
Yuriy Brun, The Promise and Perils of Using Machine Learning When Engineering Software (Keynote Paper), in Proceedings of the International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE), 2022, pp. 1–4.
Bibtex:
@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>},
}