ISBN: 978-981-14-4787-7 DOI: 10.18178/wcse.2020.06.069
Program Understanding and Requirement Validation Based on Accurate Value Flow Graph
Abstract—In software development, testing, verification and maintenance, it is a significant challenge to guarantee the consistency between software system and requirement. Software logic is usually implemented in the form of source code while requirements are usually described in the form of (structured) text. There are significant differences in form and connoation between the two, which brings many difficulties to software development. To solve this problem, this paper proposes a program analysis and requirement extraction algorithm based on accurate value flow graph. The algorithm uses static analysis to analyze program semantics and construct accurate value flow graphs. On this basis, the semantic information is extracted and summary is generated, which can be further used for requirements confirmation and defect analysis. Experiments show that the algorithm can analyze the control and data dependence of software code, and can accurately generate variable association information under different paths. The function summary can help developers to confirm whether the program semantics are consistent with the software requirements, help to find subtle semantic differences (including differences in conditions, dependencies, etc.), and effectively improve the efficiency of program understanding (up to 60% of time can be saved). This tool can be further used in the fields of defect analysis, influence domain analysis, etc., and has good application value
Index Terms— software verification and validation (V&V), program comprehension, value flow graph (VFG), function summary, static analysis
Li Wu, Zhou Min, Huang Hao
School of Software, Tsinghua University, CHINA
Department of software, AECC Aero Engine Control System Institue, CHINA
Cite: Li Wu, Zhou Min, Huang Hao "Program Understanding and Requirement Validation Based on Accurate Value Flow Graph " Proceedings of 2020 the 10th International Workshop on Computer Science and Engineering (WCSE 2020), pp.474-484 , Shanghai, China, 19-21 June, 2020.