Dependency-Based Extraction of Conditional Statements for Understanding Business Rules

Takashi ISHIO
Katsuro INOUE

IEICE TRANSACTIONS on Information and Systems   Vol.E99-D    No.4    pp.1117-1126
Publication Date: 2016/04/01
Publicized: 2016/01/08
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2015EDP7202
Type of Manuscript: PAPER
Category: Software Engineering
static analysis,  control-flow analysis,  data-dependence analysis,  reverse engineering,  Java,  

Full Text: PDF>>
Buy this Article

For the maintenance of a business system, developers must understand the business rules implemented in the system. One type of business rules defines computational business rules; they represent how an output value of a feature is computed from the valid inputs. Unfortunately, understanding business rules is a tedious and error-prone activity. We propose a program-dependence analysis technique tailored to understanding computational business rules. Given a variable representing an output, the proposed technique extracts the conditional statements that may affect the computation of the output. To evaluate the usefulness of the technique, we conducted an experiment with eight developers in one company. The results confirm that the proposed technique enables developers to accurately identify conditional statements corresponding to computational business rules. Furthermore, we compare the number of conditional statements extracted by the proposed technique and program slicing. We conclude that the proposed technique, in general, is more effective than program slicing.