Software miniaturization is a form of software re-factoring focused on reducing an application to its bare bones. Porting an application on a hand-held device is likely to require a preliminary step of software miniaturization, plus the development of device drivers dedicated to the new environment and hardware architecture. This paper presents the process and lessons learned in re-factoring a large open source application to remove any excess, introduce shared libraries, remove circular dependencies among libraries and, more generally, to minimize inter-library dependencies. While the final goal was to fully exploit shared library capabilities, among the various possibilities we defined a process based on existing knowledge about the application, and aimed to minimize the maintenance effort required by miniaturization activities.
Knowledge based library refactoring for an Open Source project
Neteler, Markus;
2002-01-01
Abstract
Software miniaturization is a form of software re-factoring focused on reducing an application to its bare bones. Porting an application on a hand-held device is likely to require a preliminary step of software miniaturization, plus the development of device drivers dedicated to the new environment and hardware architecture. This paper presents the process and lessons learned in re-factoring a large open source application to remove any excess, introduce shared libraries, remove circular dependencies among libraries and, more generally, to minimize inter-library dependencies. While the final goal was to fully exploit shared library capabilities, among the various possibilities we defined a process based on existing knowledge about the application, and aimed to minimize the maintenance effort required by miniaturization activities.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.