Applications Of Machine Learning To Facilitate Software Engineering And Scientific Computing