The long-standing practice of software development means that source codes are often “historically grown”. Besides structural weaknesses, this is particularly evident in the lack of a complete documentation of architecture and design. Such code is also called legacy code.
Migration to new technologies (e.g. AUTOSAR) or requirements from standards (such as ISO 26262) mean that architecture documents are needed for this legacy code.