1. A method for performing security analysis on a software application, the method comprising: receiving application architecture information for a software application; determining components of the software application; determining a software application type to be at least one of a composite software application type and a native software application type based on the application architecture information; generating a tool-specific package for each of the components based on the software application type; performing, by a computer processor, one or more security tests on each of the components of the software application based on the tool-specific packages; approving the software application to be available in an online marketplace if the software application passes the one or more security tests; and providing results to a user if the software application fails the one or more security tests.