1. A method to remediate a defect in first computer program code that can be used to configure a computer to produce code for use by the same or a different computer configured using second computer program code to use the produced code to produce output information, the method comprising: configuring a computer to perform static analysis of the first program to, produce an information structure in a non-transitory computer readable storage device that associates a respective code statement of the first program code with a respective context, wherein the respective context associates a parser state associated with the produced code with a potential defect in the produced code; identify a defect type in the first computer program code that is associated with the respective code statement; and determining a remediation for the identified defect type to be applied to the first computer program code based upon at least the identified defect, the context associated with the respective code statement and a technology used by the first computer program code to produce the respective code statement.