Developing a Human-Cognition-Based Reverse Engineering Approach