This paper is concerned with trustworthy software constructed through service composition and is especially emphasizes guaranteeing the trustworthiness of networked software through dynamic evolution of composite services. First of all, a set of evolution operations preserving soundness of composite services is proposed so as to avoid the complex verification process. Second, a composite service evolution method with availability guarantee is provided, the main idea of which is to create redundant execution path to improve the availability of a composite service. Third, to deal with runtime instances after dynamic composite service evolution, a live instance migration algorithm is designed to support the correct evolution enforcement. Finally, a composite service execution engine supporting dynamic evolution is developed and the effectiveness of the proposed method is showed through a set of experiments.