1. Want to make a short map for the June 30 Custom Game Night? Check out AvatarsLord's Map Challenge!
    Dismiss Notice
  2. Join in on Icon Contest #17 and show your interpretation of a legendary equipment set!
    Dismiss Notice
  3. Join us in our custom games night on Saturday, June 30. We'll see you on Battle.net and Discord!
    Dismiss Notice
  4. Texturing Contest #28 has come to an end; vote for your favorite swamp dweller here! You can vote up to 3 entries.
    Dismiss Notice
  5. The Maxwell vs PrinceYaser Icon Challenge has come to a finish. See the results here!
    Dismiss Notice
  6. We've created the Staff Job Openings thread. We're currently in need of icon, video production, and social/multimedia positions to be filled. Thank you!
    Dismiss Notice
  7. Music Contest #10 Retro is out! Join us for some retro/vintage fun!
    Dismiss Notice
  8. Don't be stagnant - embrace change! The time has come to evolve and join the Techtree Contest #12 - Evolution.
    Dismiss Notice
  9. On May 20th a new law about privacy and data processing comes into work in the EU. I am no lawyer and I need help figuring out if we comply and if not, what we must do about it. Please message me if you can provide any assistance. Read more. Ralle
    Dismiss Notice

Updates to JASS Checker

Discussion in 'Latest Updates and News' started by Ralle, Aug 12, 2017.

  1. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    11,025
    Resources:
    22
    Tools:
    3
    Maps:
    5
    Tutorials:
    14
    Resources:
    22
    Note: The JASS Checker has been reverted to the old version for now because of recently discovered instabilities.

    I have just updated the JASS checker with a new feature I have been working on the past few months. It is super technical, so to sum it up, it is now more precise with reporting leaks than before.

    The long story is this: The JASS checker performs a static analysis of the JASS in a map. What this means is that it does not run the JASS code but sort of looks at it. The limitation is that it might not know what value a variable has so in the case of an if-statement, it would have to assume that the 'then' statements are executed and then the 'else' statements and their results are combined.
    However, in this latest version it makes an attempt to keep track of the value of things. This was super important to make the JASS checker more precise, especially because the blizzard.j file makes use of the global variable
    bj_wantDestroyGroup
    to determine whether the helper function must deallocate an allocation inside an if-statement. Because of the former way this was done, it had to assume that the allocation was never leaking and thus failed to report leaks in worry that they might be false positives.

    I made a mess of this. The JASS checker is complex and pretty good. Use it!
     
    Last edited: Aug 28, 2017
  2. Daffa the Mage

    Daffa the Mage

    Joined:
    Jan 30, 2013
    Messages:
    6,532
    Resources:
    16
    Maps:
    5
    Spells:
    10
    Tutorials:
    1
    Resources:
    16
    Yay!
    For updates!

    Can we plug campaigns now? :p
     
  3. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    11,025
    Resources:
    22
    Tools:
    3
    Maps:
    5
    Tutorials:
    14
    Resources:
    22
    Not yet, but you can upload the script separately or upload each map separately. Probably faster anyway.
     
  4. Robbepop

    Robbepop

    Joined:
    Mar 6, 2008
    Messages:
    844
    Resources:
    7
    Maps:
    6
    Spells:
    1
    Resources:
    7
    I tried your JassChecker on some of my maps.
    It hasn't found any leaks but I also was pretty sure that it won't find any in the maps that ran properly through your JASS checker.
    However, for some maps JASS Checker simple hang up and even the entire site stopped responding to my requests.

    For future updates to the hive it would be awesome to automatically run JASS Checker over all newly uploaded maps and badge those that are found to be leak free!

    Regards,
    Robbepop
     
  5. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    11,025
    Resources:
    22
    Tools:
    3
    Maps:
    5
    Tutorials:
    14
    Resources:
    22
    Cool ideas, thanks :).
     
  6. juvian

    juvian

    Joined:
    Sep 25, 2017
    Messages:
    9
    Resources:
    0
    Resources:
    0
    Now sure where is the bug section for this, but when I upload big .j files (4-5mb) it gives
    A server error occurred. Please try again later.

    Is it a server error or it could be a jass checker error? There is no way to run it locally right?

    Thanks in advance
     
  7. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    11,025
    Resources:
    22
    Tools:
    3
    Maps:
    5
    Tutorials:
    14
    Resources:
    22
    I’d love to try it out with your JASS file. Can you send it to me in private?