Tracking program states when replacing running program modules using dynamic linking

Atsushi Yamamoto, Hideo Taniguchi

Research output: Contribution to journalArticlepeer-review


It would be possible to provide uninterrupted service for 24 hours a day if it were possible to replace a program module without having to terminate processes which are providing services. We thus propose a method for controlling replacement of a program module while running. An essential condition for replacing a program module is that no processes be currently executing the program module. It is therefore necessary to track the execution state of the program module by processes. If our replacement method is considered from a practical standpoint, then it is undesirable to create an application program that need be aware of state tracking. However, a problem with conventional state tracking methods has been that the object files, executable files, and the source code of the application program need to be re-created in order for the state to be capable of being tracked. In the present paper, therefore, we propose a method that makes it possible to track state without having to re-create these files and code, by making it a prerequisite that dynamic linking be used as the method for creating the application program, and using the dynamic linking function. In particular, we demonstrate a method whereby during execution of an application program, the dynamic linker automatically detects calls and returns among program modules, which are triggers for transitions in execution state. The proposed method also shows a way to reduce the processing overhead accompanying state tracking. Furthermore, through a process of implementation and assessment, we demonstrate that our proposed method, when contrasted with a conventional method, does not require the creation of an application program that is aware of state tracking, and has a lower effective processing overhead associated with state tracking.

Original languageEnglish
Pages (from-to)22-34
Number of pages13
JournalSystems and Computers in Japan
Issue number10
Publication statusPublished - Sept 1 2006


  • Dynamic link
  • Process
  • Program swapping
  • Reliability
  • Software

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Information Systems
  • Hardware and Architecture
  • Computational Theory and Mathematics


Dive into the research topics of 'Tracking program states when replacing running program modules using dynamic linking'. Together they form a unique fingerprint.

Cite this