An important feature of web search interfaces are the restrictions enforced on input values – those reflecting either the semantics of the data or requirements specific to the interface. Both integrity constraints and “access restrictions” can be of great use to web exploration tools.


ProFoUnd is a novel technique for discovering constraints that requires no form submissions whatsoever. We work via statically analyzing JavaScript client-side code used to enforce the constraints, when such code is available. We combine custom recognizers for JavaScript functions relevant to constraint-checking with a generic program analysis layer. Integrated with a web browser, our system shows the detected constraints and allows a user to explore the corresponding JavaScript code fragment.


To get a better idea how ProFoUnd works, we have prepared a screencast that explains the main functions of the prototype in about 10 minutes.

 

ProFoUnd