I. Introduction
As the early-phase of software requirements, Non-Functional Requirements (NFRs) elicitation is a crucial part of the software system requirements process. Approximately 50-60% of the errors in software development are caused by incorrect requirements, which increases the cost of fixing errors up to 100 times more in the later phases of the software development process [23]. NFRs emphasize on how to analyze and address stakeholder's interests from a series of system design alternatives [35]. A good understanding and analysis of NFRs can help make better design decisions [39], requirements changes [16], testing plans, and architectural evolution [27], [28] etc. New NFRs should be promptly discovered and properly addressed in the evolution process of a software product [35].