{{phantm-blue-solid.png|}} ====== Phantm : PHP Analyzer for Type Mismatch ====== Welcome to the //phantm// wiki! Phantm analyzes PHP code statically (with optional help from dynamic instrumention). It has found many errors in real PHP applications. **__News__** //05.10.2012//: %%phantm%% **1.0.7** has been released, see [[phantm:releases|Releases]] for more details. You'll find more information in the following sections dedicated on various aspects of //phantm//: * [[phantm:about|About phantm]] * [[phantm:releases|Download phantm]] * [[phantm:releases|Releases & Changelog]] * [[phantm:features|Features]] * [[phantm:faq|FAQ]] * [[phantm:options|Options]] ===== Getting started ===== In most cases, using phantm is easy. The first step is to download a jar release of phantm. You'll find those files in [[phantm:releases|Releases]]. The jar is self contained, meaning that the only requirement is Java. If you don't want to wait for releases, see [[phantm:build|Building from source]]. Once you have downloaded the jar distribution, use it as follows: java -jar path/to/phantm.jar [options] For a detailed description of the available options, see [[phantm:options|Options]]. ===== Publications ===== Parts of phantm are described in the following papers: * E. Kneuss, P. Suter, V. Kuncak. //Runtime Instrumentation for Precise Flow-sensitive Analysis//. RV 2010, pp. 300-314. [[http://lara.epfl.ch/~kuncak/papers/KneussETAL10RuntimeInstrumentationforPreciseFlow.pdf|PDF]] * E. Kneuss, P. Suter, V. Kuncak. //Phantm: PHP Analyzer for Type Mismatch (Research Demonstration)//. FSE 2010, pp. 373-374. [[http://lara.epfl.ch/~kuncak/papers/KneussETAL10Phantm.pdf|PDF]]