SenEx is a state-of-the-art assisted history matching software. SenEx stands for Sensitivity Explorer. SenEx is a very efficient tool because it computes sensitivities analytically from a single simulation run rather than invoking the simulator repeatedly. Moreover, SenEx computes in one shot the sensitivities of all the parameters, rather than a pre-selected subset of model parameters. These facts distinguish SenEx from all existing assisted history matching tools, and allow SenEx to offer so many unique features. SenEx computes the sensitivities based on analytical solutions to the fluid flow equations. The sensitivities computed by SenEx are hence very efficient and accurate. Other history matching tools treat the simulator as a black box which in turn makes them trial-and-error based tools. SenEx efficiently computes the sensitivities of all the model properties, providing a comprehensive picture to the user. In comparison, other history matching tools require the user to define in advance the parameters for the sensitivities studies. This, in itself, is a challenging task. Furthermore there is a high risk that the user might even not get to know the most influential parameters because they were not included in the sensitivity studies. SenEx computes the sensitivities for a huge number of model parameters. SenEx treats every property (such as permeability, porosity etc.) at each and every grid cell as a parameter. The number of parameters handled by SenEx is therefore several times the number of grid cells (exceeding hundreds of thousands, or even millions). In comparison, other history matching tools can handle only a very limited number (tens) of parameters. Furthermore, even after the sensitivity analysis is completed, SenEx allows the user to introduce additional parameters (e.g., new box multipliers). SenEx computes the sensitivity of such newly added parameters immediately, without re-running the simulator. Other history matching tools do not offer such a convenient option. SenEx computes the sensitivities of all the model parameters analytically based on just one simulation run. In contrast, other history matching tools require at least two simulation runs for a single parameter. For example, in order to evaluate the sensitivity of only one fault multiplier, one simulation run will be made with a high value (e.g. 1.0) and another run with a low value (e.g. 0.01) while the effect on the match is observed. This is obviously not efficient, and above all, due to the highly non-linear nature of the problem, this way of sensitivity calculation is not necessarily accurate or informative. SenEx explores the local and the global parameter sensitivities in a way that targets improvement for all the wells simultaneously. In comparison, other history matching tools evaluate only the selected parameters (those specified by the user) which may not improve the match in certain wells.