Maintenance of deep learning systems requires understanding how they evolve over time as modifications are made to correct issues, add new features, or improve performance. Deep learning systems consist of model code implementing the architecture, configuration files specifying hyperparameters, trained models, datasets split for different uses like training and testing, and performance metrics for models. The development process for deep learning systems is more experimental in nature, with developers constructing, training, testing, and adjusting multiple models and configurations.
2. • Software maintenance is a key phase of the software development life-cycle wherein a system is
modified to correct faults, add features, or to improve various other functional or non functional
properties.
1) Measuring and Understanding the Evolution of Deep Learning Systems:
The maintenance of a software system is tightly coupled to its evolution, i.e., the types and magnitude of
maintenance performed and software artifacts present in a system often dictate how that system evolves
over time. Different from more traditional software systems, DL systems have additional artifacts that must
be accounted for during software evolution. For instance, such systems will typically consist of
(I) model code that implements a given DL architecture,
(ii) configuration files that specify different model hyper-parameters,
(iii) trained models,
(iv)datasets split for various use cases (e.g., training/validation/test sets)
(v) performance or effectiveness metrics for different trained models.
The process for constructing DL systems also fundamentally differs from more traditional software
systems. DL-based systems are inherently more “experimental” in nature, wherein developers will
construct, train, test, and tweak several different models and DL architecture configurations.