More about HKUST
Assessing Relative Code Complexity Introduced by Optional Features to a Software Product Line
MPhil Thesis Defence Title: "Assessing Relative Code Complexity Introduced by Optional Features to a Software Product Line" By Mr. King Sun CHAN Abstract Software product line engineering (SPLE) is a software engineering discipline aiming to promote systematic software reuse. It is recurrently praised for its contribution to greatly increase developer’s productivity, reduce time to market and improve software quality. It is regarded as one of the most promising solutions to the desire of developing software with the mass production efficiency while having the flexibility of mass customization. Accompanying its great benefits, SPLE requires a high up-front investment. It has been reported that more than half practitioners implement a software product line (SPL) only after there are some similar products developed in an ad-hoc manner successfully gain the market. Due to its popularity, there is some research work on the topic of reengineering related products into a SPL. However, this work mainly focuses on feature identification and location, feature constraints discovery as well as reengineering the individual product artifacts into SPL artifacts. There is a gap to address supports in implementation of new features which are introduced to the product line to capture specific needs of additional market segments. In this thesis, we develop methods which leverage 1) the dependency relationships between features; 2) code interaction between features at method granularity, to partition features into simple and complex sets. With this information, new features can be implemented by developers with appropriate experience and simple features are implemented first to keep the code complexities of intermediate SPL instances as low as possible to reduce overall implementation time. The effectiveness of these methods is evaluated on 5 product lines with more than 28,000 configurations and 1.27x109 possible implementation order sequences. The results of the evaluation show that code interaction method can partition features into simple and complex sets correctly for all product lines while feature dependency method can partition features correctly for 3 out of 4 product lines and cannot partition features for one product line. Date: Thursday, 28 June 2018 Time: 10:00am - 12:00noon Venue: Room 5560 Lifts 27/28 Committee Members: Prof. Shing-Chi Cheung (Supervisor) Dr. Kai Chen (Chairperson) Dr. Yangqiu Song **** ALL are Welcome ****