  In goal-oriented requirement engineering, boundary conditions(BC) are used to
capture the divergence of goals, i.e., goals cannot be satisfied as a whole in
some circumstances. As the goals are formally described by temporal logic,
solving BCs automatically helps engineers judge whether there is negligence in
the goal requirements. Several efforts have been devoted to computing the BCs
as well as to reducing the number of redundant BCs as well. However, the
state-of-the-art algorithms do not leverage the logic information behind the
specification and are not efficient enough for use in reality. In addition,
even though reducing redundant BCs are explored in previous work, the computed
BCs may be still not valuable to engineering for debugging. In this paper, we
start from scratch to establish the fundamental framework for the BC problem.
Based on that, we first present a new approach SyntacBC to identify BCs with
the syntax information of goals. The experimental results show that this method
is able to achieve a >1000X speed-up than the previous state-of-the-art
methodology. Inspired by the results, we found the defects of BCs solved by our
method and also by the previous ones, i.e., most of BCs computed are difficult
for debugging. As a result, we leverage the semantics information of goals and
propose an automata-based method for solving BCs, namely SemanticBC, which can
not only find the minimal scope of divergence, but also produce
easy-to-understand BCs without losing performance.
