A computer-implemented method for addressing security vulnerabilities in a program code, the method comprising: detecting a security vulnerability; by a static analysis tool coupled to the processor, in the program code by assessing the program code against a specification repository, wherein the specification repository comprises a specification for said security vulnerability; presenting, by a vulnerability parser, the detected security vulnerability to a user in an Integrated Development Environment; identifying, by a composer coupled to the processor, a set of security solutions specified within a specification repository, wherein each security solution is associated with the detected security vulnerability; presenting the set of security solutions to a user for selection in an Integrated Development Environment; and by a refactoring engine coupled to the processor, transforming a program code portion associated with the detected security vulnerability by removing the program code portion from the program code and replacing the program code portion with a new program code portion in conformance with a security solution addressing the detected security vulnerability wherein the replacing the program code portion with the security solution comprises: generating the new code portion based on at least one of: a security solution selected by the user from the set of security solutions presented to the user, and a security solution developed by the user; where the generating is based on the security solution developed by the user, updating the specification repository, by a specification editor, with specification of the security solution developed by the user; and inserting the generated new code portion in place of the removed program code portion. detecting a security vulnerability; by a static analysis tool coupled to the processor, in the program code by assessing the program code against a specification repository, wherein the specification repository comprises a specification for said security vulnerability; presenting, by a vulnerability parser, the detected security vulnerability to a user in an Integrated Development Environment; identifying, by a composer coupled to the processor, a set of security solutions specified within a specification repository, wherein each security solution is associated with the detected security vulnerability; presenting the set of security solutions to a user for selection in an Integrated Development Environment; and by a refactoring engine coupled to the processor, transforming a program code portion associated with the detected security vulnerability by removing the program code portion from the program code and replacing the program code portion with a new program code portion in conformance with a security solution addressing the detected security vulnerability wherein the replacing the program code portion with the security solution comprises: generating the new code portion based on at least one of: a security solution selected by the user from the set of security solutions presented to the user, and a security solution developed by the user; where the generating is based on the security solution developed by the user, updating the specification repository, by a specification editor, with specification of the security solution developed by the user; and inserting the generated new code portion in place of the removed program code portion. wherein the replacing the program code portion with the security solution comprises: generating the new code portion based on at least one of: a security solution selected by the user from the set of security solutions presented to the user, and a security solution developed by the user; generating the new code portion based on at least one of: a security solution selected by the user from the set of security solutions presented to the user, and a security solution developed by the user; a security solution selected by the user from the set of security solutions presented to the user, and a security solution developed by the user; where the generating is based on the security solution developed by the user, updating the specification repository, by a specification editor, with specification of the security solution developed by the user; and inserting the generated new code portion in place of the removed program code portion.