1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Group up and create a Warcraft hero based on a member of the Hive and win up to 100 rep and a rank icon. Enter the team contest now!
    Dismiss Notice
  3. The results for Mini-Mapping Contest #14 is up! Congratulate the winners here!
    Dismiss Notice
  4. The Concept Art Competition #10 has come to an end. Check out the results!
    Dismiss Notice
  5. Paired Modeling/Texturing Contest#3 has finished. Check out the results!
    Dismiss Notice
  6. The Music Contest #9 - Steampunk has begun! Tell the nearest aristocrat, aviator or adventurer.
    Dismiss Notice
  7. The rewards for the 27th texturing contest have been upped and deadline extended. Enter now to win the new cash price.
    Dismiss Notice
  8. The [$100 Prize Pool] Special Melee Mapping Contest - Results are out! Congratulate the winners!
    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:
    10,866
    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:
    5,661
    Resources:
    12
    Maps:
    4
    Spells:
    7
    Tutorials:
    1
    Resources:
    12
    Yay!
    For updates!

    Can we plug campaigns now? :p
     
  3. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    10,866
    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:
    834
    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:
    10,866
    Resources:
    22
    Tools:
    3
    Maps:
    5
    Tutorials:
    14
    Resources:
    22
    Cool ideas, thanks :).
     
  6. juvian

    juvian

    Joined:
    Sep 25, 2017
    Messages:
    1
    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:
    10,866
    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?