Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Precise interprocedural chopping
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Theory of Fault-Based Predicate Testing for Computer Programs
IEEE Transactions on Software Engineering
A specification driven slicing process for identifying reusable functions
Journal of Software Maintenance: Research and Practice
Extracting Reusable Functions by Flow Graph-Based Program Slicing
IEEE Transactions on Software Engineering
Interprocedural control dependence
ACM Transactions on Software Engineering and Methodology (TOSEM)
An approach for extracting code fragments that implement functionality from source programs
Journal of Software Maintenance: Research and Practice
On 'A Framework for Source Code Search Using Program Patterns'
IEEE Transactions on Software Engineering
Preliminary guidelines for empirical research in software engineering
IEEE Transactions on Software Engineering
Locating Features in Source Code
IEEE Transactions on Software Engineering
ICSE '81 Proceedings of the 5th international conference on Software engineering
Pattern matching for design concept localization
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Increased Software Reliability Through Input Validation Analysis and Testing
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Evaluating Context-Sensitive Slicing and Chopping
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
On Modeling Software Architecture Recovery as Graph Matching
ICSM '03 Proceedings of the International Conference on Software Maintenance
Guaranteed inconsistency avoidance during software evolution
Journal of Software Maintenance: Research and Practice
Recovery of PTUIE Handling from Source Codes through Recognizing Its Probable Properties
IEEE Transactions on Knowledge and Data Engineering
Bypass Testing of Web Applications
ISSRE '04 Proceedings of the 15th International Symposium on Software Reliability Engineering
Automated verification and test case generation for input validation
Proceedings of the 2006 international workshop on Automation of software test
Experimental program analysis: a new program analysis paradigm
Proceedings of the 2006 international symposium on Software testing and analysis
An Approach to Aid the Understanding and Maintenance of Input Validation
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Input validation analysis and testing
Empirical Software Engineering
Testing input validation in Web applications through automated model recovery
Journal of Systems and Software
Advanced chopping of sequential and concurrent programs
Software Quality Control
Hi-index | 0.00 |
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.