{"id":15689718,"url":"https://github.com/jacksongl/jitprof-visualization","last_synced_at":"2025-06-19T00:07:08.384Z","repository":{"id":73975846,"uuid":"57928386","full_name":"JacksonGL/jitprof-visualization","owner":"JacksonGL","description":"Warning Visualization for JIT-unfriendly Code in JavaScript","archived":false,"fork":false,"pushed_at":"2017-01-30T04:53:06.000Z","size":32810,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T23:07:02.671Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JacksonGL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-02T23:47:52.000Z","updated_at":"2021-07-21T02:40:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"5d50c142-5d1b-4a00-8474-28c157dfc26b","html_url":"https://github.com/JacksonGL/jitprof-visualization","commit_stats":{"total_commits":188,"total_committers":5,"mean_commits":37.6,"dds":0.06382978723404253,"last_synced_commit":"05caa76061b8ca2e8989f839c4cec337f9247415"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JacksonGL/jitprof-visualization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacksonGL%2Fjitprof-visualization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacksonGL%2Fjitprof-visualization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacksonGL%2Fjitprof-visualization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacksonGL%2Fjitprof-visualization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JacksonGL","download_url":"https://codeload.github.com/JacksonGL/jitprof-visualization/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacksonGL%2Fjitprof-visualization/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260654643,"owners_count":23042676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T18:04:12.434Z","updated_at":"2025-06-19T00:07:03.363Z","avatar_url":"https://github.com/JacksonGL.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# JITProf Visualization\n\n[Wiki](https://github.com/ksen007/jalangi2analyses/wiki) | [Configuring](https://github.com/ksen007/jalangi2analyses/wiki/Configuration) | [Checkers](https://github.com/Berkeley-Correctness-Group/DLint/wiki/DLint-Checkers) | [Develop](https://github.com/ksen007/jalangi2analyses/wiki/Developer-Guide) | [Mailing List](https://groups.google.com/forum/#!forum/dlint)\n\nThis repository contains dynamic analyses for JavaScript code based on [Jalangi2](https://github.com/Samsung/jalangi2). It mainly consists of analyses ported from [JITProf](https://github.com/Berkeley-Correctness-Group/JITProf).\n\nWhat is JITProf?\n----------------\nJITProf is a tool that tells you which part of your JavaScript code may be slow on JIT-engine. We call those slow code **JIT-unfriendly code**.  \n\nFor more details, see this [GitHub repository](https://github.com/Berkeley-Correctness-Group/JITProf).\n\n**Academic Resources:** [Preprint](http://www.cs.berkeley.edu/~ksen/papers/jitprof.pdf) in [ESEC/FSE'15](http://esec-fse15.dei.polimi.it/) | [Presentation Slides](http://mp.binaervarianz.de/fse2015_slides.pdf) | [Technical Report](http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-144.pdf) | [Bibtex](http://mp.binaervarianz.de/fse2015.html)\n\n\nWhy Visualization?\n------------------\n\nExisting JIT-unfriendly code detection tools simply dump a list of warnings. The warning messages contain the warning type, source location and some structured information that is specific to the type of problems detected (e.g., inconsistent hidden classes that cause inline cache miss etc.). Normally, to show the whole problem, a single warning can contain dozens or even hundreds of lines of text in the console. This makes debugging based on the warning message tedious and less productive. Visualizing warning generated by JITProf can hopefully make the debugging process more delightful and productive.\n\n![Visualization Demo](/imgs/demo3.gif?raw=true \"Visualization Demo\")\n\n\nInstall\n--------------\n\nMake sure that your computer meets these [requirements](https://github.com/ksen007/jalangi2analyses/wiki/Requirements-for-Running).  \n\nTo run analyses with Jalangi2 on real-world websites, you need to install:\n\n * **mitmproxy** For more details, please read [this document](https://github.com/ksen007/jalangi2analyses/wiki/Install-mitmproxy-and-Certificates).\n\nTo install, type the following commands in your console:\n```\ngit clone https://github.com/JacksonGL/jitprof-visualization.git\ncd jitprof-visualization\nnpm install\n./scripts/install_vis.sh\n```\n\nUsage\n--------------\nAll the following commands should be executed under directory ```jalangi2analyses/```.\n\n### Run JITProf in Browser\n```\nnode src/js/command/run.js jitprof\n```\nThis command sets a web proxy, open a web page with your browser (e.g., Chrome or Safari).\nClick the ```Jalangi``` button on your web page to view the analysis result.  \nTo close the web proxy, simply rerun the above command ([See Step-by-Step Guide](https://github.com/ksen007/jalangi2analyses/wiki/Run-Analyses-in-Browser)).\n\n**Note:** To run JITProf and DLint on node.js, see this [Wiki page](https://github.com/ksen007/jalangi2analyses/wiki/Commands).\n\nConfiguration\n----------------\nTo configure which analysis module to be used, see this [Wiki page](https://github.com/ksen007/jalangi2analyses/wiki/Configuration).\n\nLicense\n-------\nDLint and JITProf is distributed under the [Apache License](http://www.apache.org/licenses/LICENSE-2.0.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacksongl%2Fjitprof-visualization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacksongl%2Fjitprof-visualization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacksongl%2Fjitprof-visualization/lists"}