SUMMARYIn this paper, the authors propose a method of evaluating the module structure of programs for embedded software in which maintainability has deteriorated due to repeated revisions and also describe a software improvement support tool that was developed based on the proposed method. The proposed evaluation method supports the improvement of a module structure that includes the exchange of data according to external variables, which is often used in embedded software, by applying the concepts of intermodule coupling and module cohesion from structured analysis. The support tool also has the following special features: (1) by displaying the exchange of data according to external variables as an interface with a higher-level function, it can display the "data flow between hierarchically related modules," which could not be displayed by conventional tools, (2) by using open source tools, it can be implemented with relatively few man-hours, and (3) it provides design guides and checklists that enable the software improvement method to be learned in a short period without regard to user expertise. From the results obtained when this tool was introduced in actual projects, it was apparent that the tool was effective in discovering and improving program structures that caused a deterioration of maintainability.