Both Software Engineering and Machine Learning have become recognized disciplines. In this article I analyse the combination of the two: engineering of machine learning applications. I believe the systematic way of working for machine learning applications is at certain points different from traditional (rule-based) software engineering. The question I set out to investigate is “How does software engineering change when we develop machine learning applications”?. This question is not an easy to answer and turns out to be a rather new, with few publications. This article collects what I have found until now.
LINK
From ACM: "In cases where architectural documentation is outdated or missing, software architecture reconstruction (SAR) techniques may be used to create architectural views of a system. This paper describes a case study in which SAR techniques are applied to reconstruct module views of a case system; a debt settlements suite for local governments, developed in C#. A manual approach and its results are described and compared to the outcome of a layers reconstruction algorithm. Furthermore, this paper explains how software architecture compliance checking (SACC) techniques may help to test the results of reconstruction activities. In this study, SAR and SACC were supported by HUSACCT, a tool that provides rich sets of module and rule types in support of layers, facade, and gateway patterns." https://doi.org/10.1145/3129790.3129809
Author supplied: "Abstract Software Architecture Compliance Checking (SACC) is an approach to verify conformance of implemented program code to high-level models of architectural design. Static SACC focuses on the modular software architecture and on the existence of rule violating dependencies between modules. Accurate tool support is essential for effective and efficient SACC. This document describes a test approach that may be used to determine how accurate a tested SACCT-tool is with respect to dependency analysis and violation reporting. This technical report is intended as a test manual and describes how a SACCT-tool can be tested. Two separate tests are described: the Benchmark test, and the FreeMind test."
LINK