A method performed by at least one electronic device, the method comprising: loading an application to be analyzed; obtaining a test suite including multiple test cases (302-n), each test case designed to test at least one feature (112-n) of the application, wherein each feature enables a respective functionality of the application; crawling the application from a user interaction perspective, including: activating using a user emulator user interaction elements using the multiple test cases of the test suite to cause the application to produce multiple user interface screens; and determining multiple application states of the application, each respective application state corresponding to a respective UI screen of the multiple UI screens produced by the application; generating a set of artifacts based on the multiple application states; and processing the set of artifacts to investigate multiple types of issues pertaining to different respective types of problems that can potentially impact operation of the application being analyzed, the processing comprising: applying multiple post-processors (116-n) to the set of artifacts, each respective post-processor configured to investigate a respective type of issue (410-n) of the multiple types of issues; and producing, based on the applying, a respective report (408-n) of multiple reports by a respective post-processor of the multiple post-processors, each respective report corresponding to the respective type of issue of the respective post-processor. loading an application to be analyzed; obtaining a test suite including multiple test cases (302-n), each test case designed to test at least one feature (112-n) of the application, wherein each feature enables a respective functionality of the application; crawling the application from a user interaction perspective, including: activating using a user emulator user interaction elements using the multiple test cases of the test suite to cause the application to produce multiple user interface screens; and determining multiple application states of the application, each respective application state corresponding to a respective UI screen of the multiple UI screens produced by the application; activating using a user emulator user interaction elements using the multiple test cases of the test suite to cause the application to produce multiple user interface screens; and determining multiple application states of the application, each respective application state corresponding to a respective UI screen of the multiple UI screens produced by the application; generating a set of artifacts based on the multiple application states; and processing the set of artifacts to investigate multiple types of issues pertaining to different respective types of problems that can potentially impact operation of the application being analyzed, the processing comprising: applying multiple post-processors (116-n) to the set of artifacts, each respective post-processor configured to investigate a respective type of issue (410-n) of the multiple types of issues; and producing, based on the applying, a respective report (408-n) of multiple reports by a respective post-processor of the multiple post-processors, each respective report corresponding to the respective type of issue of the respective post-processor. applying multiple post-processors (116-n) to the set of artifacts, each respective post-processor configured to investigate a respective type of issue (410-n) of the multiple types of issues; and producing, based on the applying, a respective report (408-n) of multiple reports by a respective post-processor of the multiple post-processors, each respective report corresponding to the respective type of issue of the respective post-processor.