1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Participate in Blizzard's Public Test Realm to give them feedback on the upcoming patches. Info is here.
    Dismiss Notice
  3. Congratulate the winners of the first ATC contest!
    Dismiss Notice
  4. Zwiebelchen is hosting a special UI texturing contest. Whomever wins will get a $150 reward through paypal! Come along and draw your texturing tools for the Fantastic Adventurer UI contest.
    Dismiss Notice
  5. You love Warcraft 3? You love drawing? Than You mustn't miss Icon Contest #16! Display Your skills, have fun and win awards!
    Dismiss Notice
  6. Traverse to a whole new location by voting for the best music pieces on the Music Contest #7 Poll
    Dismiss Notice
  7. Sneak, pickpocket and assassinate! Create a stealth map in Mini-Mapping Contest #14!
    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,785
    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!
     
  2. Daffa the Mage

    Daffa the Mage

    Joined:
    Jan 30, 2013
    Messages:
    5,493
    Yay!
    For updates!

    Can we plug campaigns now? :p
     
  3. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    10,785
    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:
    832
    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,785
    Cool ideas, thanks :).