1. A method of assessing quality of a software program, the method comprising the steps of: receiving in memory an electronic recordation of an object space of the software program, the object space: (i) being extracted using an extraction component that is dependent on an interpreted language in which at least a portion of the software application is written and that is configured to extract the object space in a development or runtime environment of the program, the extraction of the object space using the extraction component comprising: (A) loading core components of an interpreter of a language of the software application, and (B) creating a baseline object space using at least one application program interface (API), the API being an introspection API or a reflection API, and (ii) comprising at least one object defined by at least one of: (A) a developer specified software application code component, (B) a loaded dependency, and (C) a dynamic, run-time alterations to a previously loaded object; and within an environment devoid of the program source code and any binary representation of the source code, assessing, by a processor in communication with the memory, the quality of the software program using only the electronic recordation, wherein assessing the quality of the software program comprises identifying potential security vulnerabilities of the program, without having access to the program source code or a compiled binary file.