Abstract

Software architecture erosion has a negative effect on software quality, software performance and evolution cost, so repairing architecture erosion is an important task. However, in the actual evolution process, due to the pressure of cost, it is not practical to repair all erosion problems. To repair more erosion problems at a certain total cost, developers would better know the appropriate repair cost of each erosion problem. In this paper, we propose an approach called EsArCost, which can locate the reasons for architecture erosion and estimate the repair cost of each erosion problem. To this end, EsArCost detects multi-level changes of software architecture and calculates the architecture erosion degree, then locates which changed codes cause architecture erosion. EsArCost further calculates the full slice of each erosion problem to estimate the difficulty and repair costs. We evaluate our approach on small and large open source programs, and the experiment results indicate that EsArCost can effectively and efficiently estimate repair costs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call