A Reengineering Approach of the Legacy System in the Digital Media Domain

Most digital media products are developed from legacy code with small modifications because of their characteristics such as short development lead-time and budget constraints on the cost of the product. As such, if the legacy code is repeatedly revised without considering issues of maintenance, the legacy code gradually gets harder to maintain. At such point of time, reengineering of the legacy code is needed as one of the solutions to improve maintainability. However, existing reengineering researches on embedded systems mainly focus on hardware rather than embedded software. Consequently, this paper proposes the reengineering approach to improve maintainability suitable for embedded software in the digital media domain; it consists of the reengineering process, the reengineering views, and the reengineering infrastructure, and it is applied to two projects of the digital media domain.

[1]  V.K. Madisetti Reengineering digital systems , 1999, IEEE Design & Test of Computers.

[2]  Yong-Kyu Jung,et al.  Reengineering Legacy Embedded Systems , 1999, IEEE Des. Test Comput..

[3]  Kasilingam Periyasamy,et al.  Paradigm shift in software re-engineering: an experience report , 1996, CASCON.

[4]  Nelson Weiderman,et al.  Why Reengineering Projects Fail. , 1999 .

[5]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[6]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[7]  Giuseppe Visaggio,et al.  Journal of Software Maintenance and Evolution: Research and Practice Ageing of a Data-intensive Legacy System: Symptoms and Remedies , 2022 .

[8]  Kenneth Littlejohn,et al.  Reengineering: An Affordable Approach for Embedded Software Upgrade , 2001 .

[9]  B. Freimut,et al.  The importance of life cycle modeling to defect detection and prevention , 2002, 10th International Workshop on Software Technology and Engineering Practice.

[10]  Minna Mäkäräinen,et al.  Software change management process in the development of embedded software , 2000 .

[11]  Veikko Seppänen,et al.  Specific requirements for assessing embedded product development , 1999 .

[12]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[13]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .