software engineering in machine learning


Recent advances in machine learning have stimulated widespread interest within the Information Technology sector on integrating AI capabilities into software and services. This goal has forced organizations to evolve their development processes. We report on a study that we conducted on observing software teams at Microsoft as they develop AI-based applications. We consider a nine-stage workflow process informed by prior experiences developing AI applications (e.g., search and NLP) and data science tools (e.g. application diagnostics and bug reporting). We found that various Microsoft teams have united this workflow into preexisting, well-evolved, Agile-like software engineering processes, providing insights about several essential engineering challenges that organizations may face in creating large-scale AI solutions for the marketplace. We collected some best practices from Microsoft teams to address these challenges. In addition, we have identified three aspects of the AI domain that make it fundamentally different from prior software application domains: 1) discovering, managing, and versioning the data needed for machine learning applications is much more complex and difficult than other types of software engineering, 2) model customization and model reuse require very different skills than are typically found in software teams, and 3) AI components are more difficult to handle as distinct modules than traditional software components — models may be “entangled” in complex ways and experience non-monotonic error behavior. We believe that the lessons learned by Microsoft teams will be valuable to other organizations.

Machine Learning and Value-based Software Engineering : a Research Agenda.
free download

Software engineering research and practice thus far are primarily conducted in a value- neutral setting where each artifact in software development such as requirement, use case, test case, and defect, is treated as equally important during a software system development

Software Engineering practices in Machine Learning
free download

During the last decade, machine learning (ML) and software engineering (SE) sectors evolved separately. The primary objective of research in ML is to bring techniques that made it possible to perceive, reason, and act, establishing a principle focus on machines. Whereas

Machine Learning Applications in Software Engineering
free download

The field of Software Engineering is constantly evolving with new methodologies, technologies, applications, and processes. Machine Learning involves computer program solutions that use experience-based learning to improve performance at some task. The

Software Engineering for Machine Learning in Health Informatics
free download

Background: We propose a novel framework for health Informatics: framework and methodology of Software Engineering for machine learning in Health Informatics (SEMLHI). This framework shed light on its features, that allow users to study and analyze the

Applications of Genetic Algorithm in Distributed Computing, Machine Learning and Software Engineering
free download

There are manytypesof computational techniques like deterministic, evolutionary and random. Evolutionary techniques are also recognized as the technique which has been inspired by nature as these kinds of techniques have taken the concept from nature. Genetic

Literature Reviews on Applying Artificial Intelligence/ Machine Learning to Software Engineering Research Problems: Preliminary
free download

This paper is aimed to explore the application of Artificial Intelligence/ Machine Learning (AI/ML) to software engineering research problems. Which activities of software engineering use AI/ML the most for solving research problems The scope of the paper is to preliminary

Machine Learning Based Approach for Predicting Fault in Software Engineering by GMFPA: A Survey
free download

Fault propensity of software is the prospect that the component contains faults. To forecast fault proneness of modules different techniques have been proposed which includes statistical methods, machine learning techniques, etc. Machine learning techniques can be