Dependency-Based Extraction of Conditional Statements for Understanding Business Rules

Tomomi HATANO  Takashi ISHIO  Joji OKADA  Yuji SAKATA  Katsuro INOUE  

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

Full Text: PDF(613.7KB)>>
Buy this Article




Summary: 
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.