Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing Jalangi Dynamic Analysis Tool #52

Open
wants to merge 2 commits into
base: f24
Choose a base branch
from
Open

Conversation

a1inachen
Copy link

@a1inachen a1inachen commented Oct 23, 2024

What?

  • Installed and tested the Jalangi2 dynamic analysis tool on our team repository. Installation of jalangi github repo was included in .github/workflows/test.yml for the github check to run itself (thus, the jalangi2 directory will not appear in "Files changed" of this PR even though this directory was added locally).
  • Test includes running Jalangi2 provided analysis on require-main.js via the command:
    node jalangi2/src/js/commands/direct.js --analysis jalangi2/src/js/sample_analyses/ChainedAnalyses.js --analysis jalangi2/src/js/sample_analyses/dlint/Utils.js --analysis jalangi2/src/js/sample_analyses/dlint/CheckNaN.js --analysis jalangi2/src/js/sample_analyses/dlint/FunCalledWithMoreArguments.js --analysis jalangi2/src/js/sample_analyses/dlint/CompareFunctionWithPrimitives.js --analysis jalangi2/src/js/sample_analyses/dlint/ShadowProtoProperty.js --analysis jalangi2/src/js/sample_analyses/dlint/ConcatUndefinedToString.js --analysis jalangi2/src/js/sample_analyses/dlint/UndefinedOffset.js require-main_jalangi_.js

Why?

  • Testing and research of Jalangi2 tool. Will evaulate its usefulness in terms of catching our code mistakes.

Screenshots of Local Installation

Cloning Jalangi Github Repo
Screenshot 2024-10-22 at 9 35 26 PM

Installing Jalangi
Screenshot 2024-10-22 at 9 35 58 PM

New Jalangi Directory
Screenshot 2024-10-22 at 9 37 34 PM

Local Jalangi Analysis

  • Instrumented Jalangi files can be found as require-main_jalangi_.js and require-main_jalangi_.json. These are output files generated by Jalangi to be used for its dynamic analysis on require-main.js.

Running Jalangi Analysis Locally
Screenshot 2024-10-22 at 9 27 50 PM

  • Local log statements were added to analysis files in the local jalangi2 directory, however they are not reflected in the Github actions check since a fresh version of the repo was cloned.
  • The above command was also ran and included .github/workflows/test.yml as part of the Github actions check. Provided Jalangi analysis remain silent until an error occurs so by default there is no output (which is why log statements were added locally to prove a successful run as seen in above screenshot).

@coveralls
Copy link

Pull Request Test Coverage Report for Build 11471241119

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage decreased (-0.005%) to 82.672%

Files with Coverage Reduction New Missed Lines %
src/meta/errors.js 1 76.74%
Totals Coverage Status
Change from base Build 11444961491: -0.005%
Covered Lines: 22371
Relevant Lines: 25637

💛 - Coveralls

@a1inachen a1inachen added enhancement New feature or request testing and removed enhancement New feature or request labels Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants