1. A method implemented by one or more computing devices for providing attack resistance throughout an application, the method comprising: parsing, by at least one of the one or more computing devices, an original application including a plurality of code portions, a plurality of data values, and one or more dependencies to generate an intermediate representation of the original application; identifying, by at least one of the one or more computing devices, one or more assets in the original application from the intermediate representation of the original application, wherein each of the one or more identified assets comprise one or more of: a code portion in the plurality of code portions or a data value in the plurality of data values; prioritizing, by at least one of the one or more computing devices, the one or more identified assets in accordance with user-specific criteria; correlating, by at least one of the one or more computing devices, the one or more dependencies with the one or more identified assets; receiving, by at least one of the one or more computing devices, user-specific control tolerances; inserting, by at least one of the one or more computing devices, one or more new dependencies into the intermediate representation of the original application to form an alternative intermediate representation, wherein the one or more new dependencies make at least one of the plurality of code portions dependent on at least one of the one or more identified assets on which it was not previously dependent and wherein the quantity of new dependencies is based at least in part on the user-specific control tolerances; and generating, by at least one of the one or more computing devices, a transformed application from the alternative intermediate representation.