IDENTIFYING CORE COMPONENTS IN SOFTWARE SYSTEMS