selected publications conference paper Using feature modeling for program comprehension and software architecture recovery 2004