Feature-Based Software Customization: Preliminary Analysis, Formalization, and Methods
Yufei Jiang, Can Zhang, Dinghao Wu, Peng Liu · 2016
Modern software engineering practice allows us tobuild more complex software than ever before. However, onthe other hand, it causes some negative consequences such asbloatware and feature creep which have been observed in manysoftware evolution and iteration lifecycle. In this paper, we proposean approach to customizing Java bytecode by applying static dataflow analysis and enhanced programming slicing technique. This approach allows developers to customize Java programs based on various users' requirements or remove unnecessaryfeatures from tangled code in legacy projects. We evaluate ourapproach by conducting case studies on removing cross cuttingfeatures from real world Java programs. The results show thatour approach has the potential for practical use. Additionally, we find out that, by increasing the diversity of the software, ourapproach can help achieve moving target defense.