This paper presents a method to update a single or multiple procedures of running software, without stopping the software, by directly modifying a part of the process address space. The paper addresses two issues for procedure-based dynamic software update. First, the paper presents a well-defined sequence to perform an update while ensuring correct operation and small performance loss. Second, the paper provides a solution for how to make the new version procedure work correctly in the address space of the old version process. The method is illustrated in the SUN Solaris environment. Using the method can reduce the downtime caused by software upgrade when changes are limited to text and local data.