  In the past years, software reverse engineering dealt with source code
understanding. Nowadays, it is levered to software requirements abstract level,
supported by feature model notations, language independent, and simpler than
the source code reading. The recent relevant approaches face the following
insufficiencies: lack of a complete integrated methodology, adapted feature
model, feature patterns recognition, and Graph based slicing. This work aims to
provide some solutions to the above challenges through an integrated
methodology. The following results are unique. Elementary and configuration
features are specified in a uniform way by introducing semantics specific
attributes. The reverse engineering supports feature pattern recognition and
requirements feature model graph-based slicing. The slicing criteria are rich
enough to allow answering questions of software requirements maintainers. A
comparison of this proposed methodology, based on effective criteria, with the
similar works, seems to be valuable and competitive: the enrichment of the
feature model and feature pattern recognition were never approached and the
proposed slicing technique is more general, effective, and practical.
