To use JScope, you first need these installed:
Download VSCode, install typescript and follow the instructions to set up and install NodeProf.js through the links provided.
There are two main components in this project, instrumentation, and the VSCode extension.
- Everything related to the dynamic analysis and instrumentation of code can be found in the instrumentation directory. We use one of
runMocha.mjsorrunTap.jsto execute a repository's tests programmatically.PromiseWrapper.jscreates a proxy wrapper for the global Promise object.analysis.jsis the main dynamic analysis file. It contains the instrumentation hooks and is passed to NodeProf.js to instrument a project's source code. - The code for extension is under
src/directory. TheAnalyzer.tscomponent is responsible for running the analysis in the extension, using thenodeprof.shscript in theinstrumentation/directory. TheCoverage.tsis responsible for measurement of async coverage results. AndCLIReporter.tsandCoverageAnnotationsManager.tsare used to provide textual report and async coverage visualizations, respectively.
If you have any questions, please email me at m_ganji@sfu.ca