Reengineering Legacy Software Products Into Software Product Line