|
| 1 | +Introduction |
| 2 | +------------ |
| 3 | + |
| 4 | +This repository contains our ongoing work on identifying patterns of query |
| 5 | +construction in PHP code. At this point, we have focused just on the original |
| 6 | +[MySQL API][mysql-api], but plan to expand this to cover other database |
| 7 | +APIs in the future. |
| 8 | + |
| 9 | +Running Our Software |
| 10 | +-------------------- |
| 11 | + |
| 12 | +The analysis code used here is written in [Rascal][rascal], a meta-programming |
| 13 | +language for program analysis and transformation. It also uses [PHP AiR][PAiR], |
| 14 | +a program analysis for PHP written in Rascal. You should start by following the |
| 15 | +installation instructions given on the [PHP AiR][PAiR] project page. At the |
| 16 | +end of this, you will have a working Rascal and PHP AiR installation. |
| 17 | + |
| 18 | +[rascal]: http://www.rascal-mpl.org |
| 19 | +[mysql-api]: http://php.net/manual/en/book.mysql.php |
| 20 | +[PAiR]: https://github.com/cwi-swat/php-analysis |
| 21 | + |
| 22 | +Once this is done, you should be able to just check out this GitHub repository |
| 23 | +using `git clone`, then import it into Eclipse by importing an existing |
| 24 | +Eclipse project. This will be in the same workspace as the `PHPAnalysis` |
| 25 | +project that you get from installing PHP AiR. You may also need to add the |
| 26 | +`PHPAnalysis` as a Project Reference. To do so, you should right-click on the |
| 27 | +`QCPAnalysis` project (the project for this repository), select Properties, |
| 28 | +select Project References, then check `PHPAnalysis`. You can tell you need to |
| 29 | +do this if the Rascal scripts in `QCPAnalysis` complain about missing Rascal |
| 30 | +modules. |
| 31 | + |
| 32 | +Downloading the Corpus |
| 33 | +---------------------- |
| 34 | + |
| 35 | +A link to the corpus will be posted here soon. |
| 36 | + |
| 37 | +Running the Analysis |
| 38 | +-------------------- |
| 39 | + |
| 40 | +Details on running the analysis will be posted here shortly. |
0 commit comments