
Input validation is the enforcement of constraints that an input must satisfy before it is accepted in a program. It is an essential and important feature in a large class of systems and usually forms a major part of a data-intensive system. Currently, the design and implementation of input validation are carried out by application developers. The recovery and maintenance of input validation implemented in a system is a challenging issue. In this paper, we introduce a variant of control flow graph, called validation flow graph as a model to analyze input validation implemented in a program. We have also discovered some empirical properties that characterizing the implementation of input validation. Based on the model and the properties discovered, we then propose a method that recovers the input validation model from source and use program slicing techniques to aid the understanding and maintenance of input validation. We have also evaluated the proposed method through case studies. The results show that the method can be very useful and effective for both experienced and inexperienced developers.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 7 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
