CINXE.COM
JSTools 2020 - ECOOP 2020
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="https://2020.ecoop.org/favicon.ico?28d37e6d7e5e12d24c39bdba0f4f3cfd" rel="shortcut icon" type="image/x-icon" /> <link href="https://2020.ecoop.org/stylesheets/common_.css?d7bcca3579a066193caf560ede9d6399" rel="stylesheet" type="text/css" /> <title>JSTools 2020 - ECOOP 2020</title> <script type="text/javascript">var show_webdsl_debug=false;</script> <script type="text/javascript">var contextpath="https://2020.ecoop.org";</script> <link rel="stylesheet" href="https://2020.ecoop.org/stylesheets/bootstrap/css/bootstrap.min.css?7f89537eaf606bff49f5cc1a7c24dbca" type="text/css" /><link rel="stylesheet" href="https://2020.ecoop.org/stylesheets/conf.css?e0c92ee5f52769e04d268b7588469bfe" type="text/css" /><link rel="stylesheet" href="https://2020.ecoop.org/getFile/a03c8d2f-435f-408e-bdb4-1f9c3de80d08/custom.css?1594641067716" type="text/css" /><link rel="stylesheet" href="https://2020.ecoop.org/stylesheets/theme.bootstrap_3.min.css?6867e70881e6ed2c03b6c9cf9c3152e0" type="text/css" /><script type="text/javascript" src="//code.jquery.com/jquery-3.5.1.min.js"></script> <script type="text/javascript" src="https://2020.ecoop.org/javascript/jquery.tablesorter.combined.min.js?285b21976326641f8f1b910492e6d5d0"></script> <script type="text/javascript" src="https://2020.ecoop.org/javascript/jquery.tablesorter.pager.min.js?4551cdfea66f45a11ae5548f3d50a06f"></script> <script type="text/javascript" src="https://2020.ecoop.org/javascript/tablesorter-init.js?ee6babedf1a6be960e4543a1bb57b421"></script> <script type="text/javascript" src="https://2020.ecoop.org/javascript/bootstrap/js/bootstrap.min.js?2f34b630ffe30ba2ff2b91e3f3c322a1"></script> <script type="text/javascript" src="https://2020.ecoop.org/javascript/notify.min.js?e86d399917a84b69a4683f504c7a7813"></script> <script type="text/javascript" src="https://2020.ecoop.org/javascript/ajax.js?2dbd1cc4f8f2d52ae9c879d7346f4f8a"></script> <script type="text/javascript">$(document).ready( function(){ $('#program-menu a[data-fltr-type]').on('click', function(event){ event.preventDefault(); window.location = $(this).attr('href') + "?" + encodeURIComponent( $(this).data('fltr-type') ) + '=' + encodeURIComponent( $(this).data('fltr-val') ); }) }) </script> <script type="text/javascript">(function($){ $(document).ready(function(){ $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) { event.preventDefault(); event.stopPropagation(); $(this).parent().siblings().removeClass('open'); $(this).parent().toggleClass('open'); }); }); })(jQuery); </script> <meta prefix='og: http://ogp.me/ns#' property='og:title' content='JSTools 2020 - ECOOP 2020'> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4G0QWEKVQS"></script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-4G0QWEKVQS', {'cookie_domain': 'auto', 'anonymizeIp': true });gtag('config', 'UA-9607501-2', {'cookie_domain': 'auto', 'anonymizeIp': true });</script> <meta prefix='og: http://ogp.me/ns#' property='og:description' content=' Welcome to the Eight Annual Workshop on Tools for JavaScript Analysis Due to COVID-19, the workshop will be postponed to 2021. JavaScript has become ubiquitous: not only is it the lingua franca of the Web platform, but it is also increasingly being used for developing server-side applications and for writing platform-independent mobile applications. Consequently, it is now the focus of many strands of research work in static and dynamic program analysis, automated testing, security analysis and refactoring, to name just a few. At the same time, there is a strong ...'> <meta name='description' content=' Welcome to the Eight Annual Workshop on Tools for JavaScript Analysis Due to COVID-19, the workshop will be postponed to 2021. JavaScript has become ubiquitous: not only is it the lingua franca of the Web platform, but it is also increasingly being used for developing server-side applications and for writing platform-independent mobile applications. Consequently, it is now the focus of many strands of research work in static and dynamic program analysis, automated testing, security analysis and refactoring, to name just a few. At the same time, there is a strong ...'> <script type="text/javascript">function addEventModalLoadOnClick( containerNode ){ $(containerNode).find( "a[data-event-modal]" ).on("click", function(e){ var eventId = $(this).data("event-modal"); var modalElem = $("#modal-" + eventId); if(modalElem.length){ modalElem.modal({ backdrop: 'static', keyboard: true}, 'show'); } else { var loaderElem = $("#event-modal-loader"); loaderElem.find("input.event-id-input").val( eventId ); loaderElem.find("#load-modal-action").click(); } e.preventDefault(); } ); } </script><script type="text/javascript">function addStarredEventOnClick( containerNode ){ $(containerNode).find( "[data-event-star]" ).on("click", function(e){ var eventId = $(this).data("event-star"); var starEventFormElem = $("#event-star-form"); starEventFormElem.find("input.event-id-input").val( eventId ); starEventFormElem.find("#star-event-action").click(); e.preventDefault(); e.stopPropagation(); } ); } </script><script type="text/javascript">function pauseOnCloseModal( modalid ){ //pauses video (only youtube at the moment) when closing modal $('#' + modalid).on('hidden.bs.modal', function () { $(this).find('.embed-container iframe[src*=enablejsapi]').each( function(){ this.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*') } ); } ) } </script> <meta prefix='og: http://ogp.me/ns#' property='og:image' content='https://2020.ecoop.org/getImage/carousel/5632590238_cc8c37673e_o.jpg?1570607225000'> <script>if(window.location.href.indexOf("2020.ecoop.org/program/") > 0 ) { window.location.replace("https://2020.splashcon.org/program/program-splash-2020"); }</script> <script>$(function() {$(":root").attr("lang", "en-US");}); $(function() {if ($('.carousel').length > 0) { /*$('body').addClass("with-carousel");*/ $('.carousel').remove(); /*replace program links to link to splash program*/ $('#program-menu a[href="https://2020.ecoop.org/program/program-ecoop-2020"]').attr('href', "https://2020.splashcon.org/program/program-splash-2020"); }})</script> </head> <body id="home"><div class="frame"><div class="logobar"><div class="container"><a href="https://2020.ecoop.org" class="navbar-brand navigate"><span class="brand-text">ECOOP 2020</span></a><div class="place">Sun 15 - Tue 17 November 2020 <a href="https://2020.ecoop.org/venue/splash-2020-venue" class="navigate">Online Conference</a></div><div class="place2">co-located with <a href="https://2020.splashcon.org" class="navigate">SPLASH 2020</a></div></div></div><div class="navbar navbar-default"><div class="container"><div class="navbar-header"><button type="button" data-toggle="collapse" data-target="#navigationbar" class="navbar-toggle"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button></div><div id="navigationbar" class="navigationbar collapse navbar-collapse"><ul class="block nav navbar-nav"><li class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Attending <span class="caret"></span></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/venue/splash-2020-venue" class="navigate">Venue: Online</a></li><li class="block"><a href="https://2020.ecoop.org/attending/sponsorship" class="navigate">Sponsorship</a></li><li class="block"><a href="https://2020.ecoop.org/attending/conduct" class="navigate">Conduct</a></li><li class="block"><a href="https://2020.ecoop.org/attending/awards" class="navigate">Awards</a></li><li class="block dropdown-header">SPLASH 2020</li><li class="block"><a href="https://2020.ecoop.org/attending/Students" class="indent navigate">Students</a></li><li class="block"><a href="https://2020.ecoop.org/attending/Registration" class="indent navigate">Registration</a></li><li class="block"><a href="https://2020.ecoop.org/attending/awards" class="indent navigate">Awards</a></li><li class="block"><a href="https://2020.ecoop.org/attending/sponsoring" class="indent navigate">Sponsoring</a></li><li class="block"><a href="https://2020.ecoop.org/attending/Conduct" class="indent navigate">Code of conduct</a></li><li class="block"><a href="https://2020.ecoop.org/attending/Certificate+of+Attendance" class="indent navigate">Certificate of Attendance</a></li></ul></li><li class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Program <span class="caret"></span></a><ul id="program-menu" class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/program/program-ecoop-2020/" class="navigate">ECOOP Program</a></li><li class="block"><a href="https://2020.ecoop.org/program/program-ecoop-2020/" data-fltr-type="prog" data-fltr-val="Your Program" class="navigate"><span class="glyphicon glyphicon-star"></span> Your Program</a></li><li class="block divider"></li><li class="block"><a href="https://2020.ecoop.org/program/program-ecoop-2020/" data-fltr-type="date" data-fltr-val="Sun 15 Nov 2020" class="navigate">Sun 15 Nov</a></li><li class="block"><a href="https://2020.ecoop.org/program/program-ecoop-2020/" data-fltr-type="date" data-fltr-val="Mon 16 Nov 2020" class="navigate">Mon 16 Nov</a></li><li class="block"><a href="https://2020.ecoop.org/program/program-ecoop-2020/" data-fltr-type="date" data-fltr-val="Tue 17 Nov 2020" class="navigate">Tue 17 Nov</a></li></ul></li><li id="tracks-in-navbar" class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Tracks <span class="caret"></span></a><ul class="block dropdown-menu multi-column columns-3"><div class="row"><div class="col-sm-5"><ul class="block multi-column-dropdown"><li class="block dropdown-header">ECOOP 2020</li><li class="block"><a href="https://2020.ecoop.org/track/ecoop-2020-papers" class="navigate">Research Papers</a></li><li class="block"><a href="https://2020.ecoop.org/track/ecoop-2020-artifacts" class="navigate">Artifacts</a></li><li class="block"><a href="https://2020.ecoop.org/track/ecoop-2020-Student-Volunteers" class="navigate">Student Volunteers</a></li><li class="block"><a href="https://2020.ecoop.org/track/ecoop-2020-doctoral-symposium" class="navigate">Doctoral Symposium</a></li><li class="block"><a href="https://2020.ecoop.org/track/ecoop-2020-tutorials" class="navigate">Tutorials</a></li><li class="block"><a href="https://2020.ecoop.org/track/ecoop-2020-Posters" class="navigate">Posters</a></li></ul></div><div class="col-sm-7"><ul class="block multi-column-dropdown"><li class="block dropdown-header">Workshops</li><li class="block"><a href="https://2020.ecoop.org/home/COP-2020" class="navigate"><strong>COP</strong> </a></li><li class="block"><a href="https://2020.ecoop.org/track/FTfJP-2020-papers" class="navigate"><strong>FTfJP</strong> </a></li><li class="block"><a href="https://2020.ecoop.org/home/ICOOOLPS-2020" class="navigate"><strong>ICOOOLPS</strong> </a></li><li class="block"><a href="https://2020.ecoop.org/home/iwaco-2020" class="navigate"><strong>IWACO</strong> </a></li><li class="block"><a href="https://2020.ecoop.org/home/JSTools-2020" class="navigate"><strong>JSTools</strong> </a></li><li class="block"><a href="https://2020.ecoop.org/home/pride-2020" class="navigate"><strong>PRIDE</strong> </a></li><li class="block"><a href="https://2020.ecoop.org/home/soop-2020" class="navigate"><strong>SOOP</strong> </a></li><li class="block"><a href="https://2020.ecoop.org/home/sysepl-2020" class="navigate"><strong>SySEPL</strong> </a></li><li class="block"><a href="https://2020.ecoop.org/home/vortex-2020" class="navigate"><strong>VORTEX</strong> </a></li><li class="block dropdown-header">Co-hosted Symposia</li><li class="block"><a href="https://2020.ecoop.org/home/scala-2020" class="navigate"><strong>Scala</strong> </a></li></ul></div></div></ul></li><li class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Organization <span class="caret"></span></a><ul class="block dropdown-menu multi-column columns-2"><div class="row"><div class="col-sm-6"><ul class="block multi-column-dropdown"><li class="block dropdown-header">ECOOP 2020 Committees</li><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block dropdown-header">Track Committees </li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>Research Papers</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-papers-program-committee" class="navigate">Program Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-papers-external-review-committee" class="navigate">External Review Committee</a></li></ul></li><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-artifacts-artifact-evaluation-committee" class="navigate"><strong>Artifacts</strong></a></li><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-Student-Volunteers-committee" class="navigate"><strong>Student Volunteers</strong></a></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>Doctoral Symposium</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-doctoral-symposium-academic-panel" class="navigate">Academic Panel</a></li><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-doctoral-symposium-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-doctoral-symposium-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="block"><a href="https://2020.ecoop.org/committee/ecoop-2020-Posters-posters-committee" class="navigate"><strong>Posters</strong></a></li><li class="block dropdown-header">Contributors</li><li class="block"><a href="https://2020.ecoop.org/people-index" class="navigate"><span class="glyphicon glyphicon-search"></span><sup><span class="glyphicon glyphicon-user"></span></sup> People Index</a></li></ul></div><div class="col-sm-6"><ul class="block multi-column-dropdown"><li class="block dropdown-header">Workshops</li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>COP</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/COP-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/COP-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>FTfJP</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/FTfJP-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/FTfJP-2020-papers-program-committee" class="navigate">Program Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/FTfJP-2020-papers-steering-commitee" class="navigate">Steering Commitee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>ICOOOLPS</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/ICOOOLPS-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/ICOOOLPS-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>IWACO</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/iwaco-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/iwaco-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>JSTools</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/JSTools-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/JSTools-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>PRIDE</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/pride-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/pride-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>SOOP</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/soop-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/soop-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>SySEPL</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/sysepl-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/sysepl-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>VORTEX</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/vortex-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/vortex-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="block dropdown-header">Co-hosted Symposia</li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>Scala</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/committee/scala-2020-papers-invited-speakers" class="navigate">Keynote</a></li><li class="block"><a href="https://2020.ecoop.org/committee/scala-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://2020.ecoop.org/committee/scala-2020-papers-program-committee" class="navigate">Program Committee</a></li></ul></li></ul></div></div></ul></li><li class="block"><a href="https://2020.ecoop.org/search//all" class="navigate"><span class="glyphicon glyphicon-search"></span><span class="hidden-sm"> Search</span></a></li><li class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle"><span class="hidden-sm">Series <span class="caret"></span></span><span title="Series" class="visible-sm"><span class="glyphicon glyphicon-repeat"></span> <span class="caret"></span></span></a><ul class="block dropdown-menu"><li class="block"><a href="https://2020.ecoop.org/series/ecoop" class="navigate"><span class="glyphicon glyphicon-home"></span> Series</a></li><li class="block divider"></li><li class="block"><a href="https://2025.ecoop.org" class="navigate">ECOOP 2025</a></li><li class="block"><a href="https://2024.ecoop.org" class="navigate">ECOOP 2024</a></li><li class="block"><a href="https://2023.ecoop.org" class="navigate">ECOOP 2023</a></li><li class="block"><a href="https://2022.ecoop.org" class="navigate">ECOOP 2022</a></li><li class="block"><a href="https://2021.ecoop.org" class="navigate">ECOOP 2021</a></li><li class="block"><span class="text-muted" style="margin-left: 2px;"><span class="glyphicon glyphicon-hand-right"></span> ECOOP 2020</span></li><li class="block"><a href="https://2019.ecoop.org" class="navigate">ECOOP 2019</a></li><li class="block"><a href="https://2018.ecoop.org" class="navigate">ECOOP 2018</a></li><li class="block"><a href="https://2017.ecoop.org" class="navigate">ECOOP 2017</a></li><li class="block"><a href="https://2016.ecoop.org" class="navigate">ECOOP 2016</a></li><li class="block"><a href="https://2015.ecoop.org" class="navigate">ECOOP 2015</a></li><li class="block"></li><li class="block"><a href="http://2014.ecoop.org" target="_blank" class="navigate">2014: Uppsala <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="http://2013.ecoop.org" target="_blank" class="navigate">2013: Montpellier <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="http://ecoop12.cs.purdue.edu" target="_blank" class="navigate">2012: Beijing <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="http://scc-sentinel.lancs.ac.uk/ecoop11/" target="_blank" class="navigate">2011: Lancaster <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="http://ecoop2010.uni-mb.si" target="_blank" class="navigate">2010: Maribor <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="http://ecoop09.disi.unige.it" target="_blank" class="navigate">2009: Genova <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="https://ecoop08.cs.ucy.ac.cy" target="_blank" class="navigate">2008: Cyprus <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="http://ecoop07.swt.cs.tu-berlin.de" target="_blank" class="navigate">2007: Berlin <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="http://www.emn.fr/z-info/ecoop2006/" target="_blank" class="navigate">2006: Nice <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li><li class="block"><a href="http://2005.ecoop.org/" target="_blank" class="navigate">2005: Glasgow <span class="pull-right"><span class="glyphicon glyphicon-new-window"></span></span></a></li></ul></li></ul><div class="navbar-right"><ul class="block nav navbar-nav"><li class="block"><a href="https://conf.researchr.org/signin/ecoop-2020/https%3A%5Es%5Es2020.ecoop.org%5Eshome%5EsJSTools-2020" rel="nofollow" class="navigate">Sign in</a></li><li class="block"><a href="https://2020.ecoop.org/signup" class="navigate">Sign up</a></li></ul></div></div></div></div><div id="content" class="container"><div class="page-header"><span class="text-muted small"><span class="glyphicon glyphicon-home"></span> <a href="https://2020.splashcon.org" class="navigate">SPLASH 2020</a> (<a href="https://2020.ecoop.org/series/splash" class="navigate">series</a>) / </span><span class="text-muted small"><span class="glyphicon glyphicon-home"></span> <a href="https://2020.ecoop.org" class="navigate">ECOOP 2020</a> (<a href="https://2020.ecoop.org/series/ecoop" class="navigate">series</a>) / </span><span class="text-muted small">JSTools 2020 (<a href="https://2020.ecoop.org/series/JSTools" class="navigate">series</a>) / </span><h1>JSTools 2020</h1></div><div class="row"><div class="col-sm-8"><table><tbody><tr><td><img src="https://2015.ecoop.org/getImage/orig/JSTools.jpg"></td><td> <h2>Welcome to the Eight Annual Workshop on Tools for JavaScript Analysis</h2></td></tr></tbody></table> <div style="color: #856404; border: 2px solid #ffeeba; background-color: #fff3cd; padding: 6px; margin: 20px; text-align: center"> <h4>Due to <a href="https://2020.ecoop.org/">COVID-19</a>, the workshop will be postponed to 2021.</h4> </div> <p>JavaScript has become ubiquitous: not only is it the lingua franca of the Web platform, but it is also increasingly being used for developing server-side applications and for writing platform-independent mobile applications. Consequently, it is now the focus of many strands of research work in static and dynamic program analysis, automated testing, security analysis and refactoring, to name just a few. At the same time, there is a strong interest from industry in providing better development tools for JavaScript programmers, such as debuggers and smart IDEs.</p> <p>All these projects need to overcome similar challenges: How to delineate the program in a dynamic setting like a web page, how to deal with the extensive native APIs and framework libraries most JavaScript code relies on, how to handle non-determinism of concurrency and asynchronous events, and what to do about the language鈥檚 extraordinarily dynamic features like eval or reflection over object structure.</p> <p>JSTools will bring together participants from academia and industry working on analysis of JavaScript and its dialects to share ideas and problems, with a focus on presentations of shareable infrastructure created by the participants. We also aim to involve developers working on JavaScript dialects such as TypeScript to share their perspective.</p> <h2>Call for Submissions</h2><p><p>JavaScript has become ubiquitous: not only is it the lingua franca of the Web platform, but it is also increasingly being used for developing server-side applications and for writing platform-independent mobile applications. Consequently, it is now the focus of many strands of research work in static and dynamic program analysis, automated testing, security analysis and refactor- ing, to name just a few. At the same time, there is a strong interest from industry in providing better development tools for JavaScript programmers, such as debuggers and smart IDEs. All these projects need to overcome similar challenges:</p> <ul> <li> <p>What constitutes a JavaScript program itself is an increasingly slippery concept. Even simple web pages tend to be composed of multiple script tags in a Web page, some of which refer to external source files and some of which contain inline code. Further code is commonly added with handlers attached to various Web page elements. Depending on the particular structure of these tags, the semantics of the induced program can differ. And further, code is often loaded dynamically into a page, for instance by dynamically creating new script tags in the current page.</p> </li> <li> <p>Web pages increasingly use concurrency. While JavaScript itself is single-threaded, execution in modern browsers sometimes is not entirely, and, even when it is, asynchronous styles such as AJAX can introduce non-determinism into when pieces of code execute. Even the initial parsing of the Web page is often not atomic from the point of view of the code.</p> </li> <li> <p>JavaScript is an extraordinarily dynamic language including a wide array of features for reflective programming and runtime code generation. This makes it challenging to design an internal representation as is commonly used for analysis and optimization purposes, since the semantics of even a simple statement can depend on the runtime state of the program in subtle and complex ways.</p> </li> <li> <p>Almost all JavaScript programs rely on extensive native API libraries such as the browser鈥檚 DOM implementation for web applications, or APIs for accessing mobile phone hardware for mobile applications. Modeling the semantics of these libraries is a formidable task, but essential for analyzing real-world programs. Additionally, many programs use framework libraries such as jQuery or Sencha; while these are themselves written in JavaScript, they tend to use sophisticated coding patterns that are often extremely difficult to analyze.</p> </li> <li> <p>JavaScript has given rise to variants such as ActionScript (the language behind Flash) and TypeScript (a strongly typed dialect of JavaScript), while JavaScript itself also keeps evolving. Supporting these dialects and new features is often desirable, but adds considerable additional complexity.</p> </li> </ul> <p>Various research and project groups have addressed these challenges, and there is a growing body of infrastructure that can be used and extended to tackle JavaScript. In this workshop, we hope to bring the builders and interested consumers of such tooling together. We plan to have a focus on tooling that, at least to some extent, addresses these challenges in a practical way. We want a combined focus on the research challenges the tools address and a tutorial-like to using these tools as well.</p> <p>Submissions should be emailed to the workshop organizers; we plan to include a mixture of submissions and invited talks in the overall program. Submissions should be in the form of talk abstracts. The goal of this workshop is to facilitate exchange and encourage collaboration; as such, we do not plan to have a formal proceedings, so any work discussed at JSTools could be published at a later date, perhaps in a more-polished form.</p> </p></div><div class="col-sm-4 sidebar"><div class="panel panel-primary"><div class="panel-heading clearfix"><div class="panel-title"><a href="https://2020.ecoop.org/committee/JSTools-2020-papers-organizing-committee" class="navigate">Organizing Committee</a></div></div><ul class="list-group"><li class="list-group-item"><a href="https://2020.ecoop.org/profile/juliandolby" class="navigate"><div class="media"><span class="pull-left"><img alt="Julian Dolby" src="https://2020.ecoop.org/getProfileImage/juliandolby/e6e4ec90-3676-4aa3-809d-7b0b0d8c33a2/micro-avatar.jpg?1711457887000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Julian Dolby<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">IBM Research, USA</span></h5></div></div></a></li><li class="list-group-item"><a href="https://2020.ecoop.org/profile/andersmoller" class="navigate"><div class="media"><span class="pull-left"><img alt="Anders Møller" src="https://2020.ecoop.org/getProfileImage/andersmoller/ea720bf4-03f4-41fd-9eec-f86ff595bb07/micro-avatar.jpg?1717150136000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Anders M酶ller<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">Aarhus University</span></h5></div></div></a></li><li class="list-group-item"><a href="https://2020.ecoop.org/profile/sukyoungryu" class="navigate"><div class="media"><span class="pull-left"><img alt="Sukyoung Ryu" src="https://2020.ecoop.org/getProfileImage/sukyoungryu/c5da3493-41e1-40c9-bd87-1bc6943c1a41/micro-avatar.jpg?1711460889000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Sukyoung Ryu<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">KAIST</span></h5><h5 class="media-heading"><small>South Korea</small></h5></div></div></a></li></ul></div><div class="panel panel-primary"><div class="panel-heading clearfix"><div class="panel-title"><a href="https://2020.ecoop.org/committee/JSTools-2020-papers-program-committee" class="navigate">Program Committee</a></div></div><ul class="list-group"><li class="list-group-item">No members yet</li></ul></div></div></div><div id="messages-placeholder" class="alert alert-warning" style="display:none;"><a data-dismiss="alert" class="close">x</a><em>Thu 28 Nov 08:01</em></div></div><div id="notifications-ph" class="webdsl-placeholder"></div><div id="event-modal-loader" class="webdsl-placeholder"><form name="form_131600131703c411e65b13378d08eb1f6672b5a0259" id="form_131600131703c411e65b13378d08eb1f6672b5a0259" action="https://2020.ecoop.org/eventDetailsModalByAjaxConferenceEdition" accept-charset="UTF-8" method="POST" class="hidden"><input type="hidden" name="form_131600131703c411e65b13378d08eb1f6672b5a0259" value="1" /><input type="hidden" name="context" value="ecoop-2020" /><input name="ae03f7f6f951d515a297b161e922205d" type="text" value="" class="inputString form-control event-id-input"/><button style="position: absolute; left: -9999px; width: 1px; height: 1px;" onclick='javascript:serverInvoke("https://2020.ecoop.org/eventDetailsModalByAjaxConferenceEdition","eventDetailsModalByAjaxConferenceEdition_ia0_3c411e65b13378d08eb1f6672b5a0259", [{"name":"context", "value":"ecoop-2020"},],"form_131600131703c411e65b13378d08eb1f6672b5a0259", this.nextSibling, false,"event-modal-loader"); return false;'></button><a submitid="eventDetailsModalByAjaxConferenceEdition_ia0_3c411e65b13378d08eb1f6672b5a0259" href="javascript:void(0)" onclick="javascript:loadImageElem=this;$(this.previousSibling).click()" id="load-modal-action"></a></form></div><div id="event-star-form" class="webdsl-placeholder"><form name="form_509860938088b48fd14544d4239b498a2cf339e02b" id="form_509860938088b48fd14544d4239b498a2cf339e02b" action="https://2020.ecoop.org/eventStarByAjaxConferenceEdition" accept-charset="UTF-8" method="POST" class="hidden"><input type="hidden" name="form_509860938088b48fd14544d4239b498a2cf339e02b" value="1" /><input type="hidden" name="context" value="ecoop-2020" /><input name="a0b55aa29cf9431a9461b359872014e3" type="text" value="" class="inputString form-control event-id-input"/><button style="position: absolute; left: -9999px; width: 1px; height: 1px;" onclick='javascript:serverInvoke("https://2020.ecoop.org/eventStarByAjaxConferenceEdition","eventStarByAjaxConferenceEdition_ia0_88b48fd14544d4239b498a2cf339e02b", [{"name":"context", "value":"ecoop-2020"},],"form_509860938088b48fd14544d4239b498a2cf339e02b", this.nextSibling, false,"event-star-form"); return false;'></button><a submitid="eventStarByAjaxConferenceEdition_ia0_88b48fd14544d4239b498a2cf339e02b" href="javascript:void(0)" onclick="javascript:loadImageElem=this;$(this.previousSibling).click()" id="star-event-action"></a></form></div><div id="event-modals" class="webdsl-placeholder"></div><script type="text/javascript">(function(){ var post_process_function = function(n){ var node=(n&&n.nodeType === 1)?n:document; addEventModalLoadOnClick(node); addStarredEventOnClick(node); }; var original_post_process_func = ajax_post_process; ajax_post_process = function(){ original_post_process_func.apply(this,arguments); post_process_function.apply(this,arguments); }; $(document).ready( post_process_function ); })(); </script><footer class="footer"><div class="container"><div class="footer-box"><div class="row"><div class="col-sm-3"><h3><a href="https://2020.ecoop.org" class="navigate"><span class="glyphicon glyphicon-home"></span> ECOOP 2020</a></h3><div><a href="https://2020.ecoop.org/contact" class="navigate"><span class="glyphicon glyphicon-envelope"></span> contact form</a></div><hr/>using <a href="https://conf.researchr.org" class="navigate">conf.researchr.org</a> (<a href="http://yellowgrass.org/roadmap/conf.researchr.org" class="navigate">v1.67.1</a>)<br/><small><a href="https://2020.ecoop.org/support" target="_blank" class="navigate"><span class="glyphicon glyphicon-question-sign"></span> Support page</a></small><br/><small></small></div><div class="col-sm-5"><div class="row"><div class="col-sm-6"><h4>Tracks</h4><a href="https://2020.ecoop.org/track/ecoop-2020-papers" class="navigate">Research Papers</a><br/><a href="https://2020.ecoop.org/track/ecoop-2020-artifacts" class="navigate">Artifacts</a><br/><a href="https://2020.ecoop.org/track/ecoop-2020-Student-Volunteers" class="navigate">Student Volunteers</a><br/><a href="https://2020.ecoop.org/track/ecoop-2020-doctoral-symposium" class="navigate">Doctoral Symposium</a><br/><a href="https://2020.ecoop.org/track/ecoop-2020-tutorials" class="navigate">Tutorials</a><br/><a href="https://2020.ecoop.org/track/ecoop-2020-Posters" class="navigate">Posters</a></div><div class="col-sm-6"><h4>Workshops</h4><a href="https://2020.ecoop.org/home/COP-2020" class="navigate">COP</a><br/><a href="https://2020.ecoop.org/track/FTfJP-2020-papers" class="navigate">FTfJP 2020</a><br/><a href="https://2020.ecoop.org/home/ICOOOLPS-2020" class="navigate">ICOOOLPS 2020</a><br/><a href="https://2020.ecoop.org/home/iwaco-2020" class="navigate">IWACO 2020</a><br/><a href="https://2020.ecoop.org/home/JSTools-2020" class="navigate">JSTools 2020</a><br/><a href="https://2020.ecoop.org/home/pride-2020" class="navigate">PRIDE 2020</a><br/><a href="https://2020.ecoop.org/home/soop-2020" class="navigate">SOOP'20</a><br/><a href="https://2020.ecoop.org/home/sysepl-2020" class="navigate">SySEPL 2020</a><br/><a href="https://2020.ecoop.org/home/vortex-2020" class="navigate">VORTEX 2020</a><br/><h4>Co-hosted Symposia</h4><a href="https://2020.ecoop.org/home/scala-2020" class="navigate">Scala 2020</a></div></div></div><div class="col-sm-2"><h4>Attending</h4><a href="https://2020.ecoop.org/venue/splash-2020-venue" class="navigate">Venue: Online</a><br><a href="https://2020.ecoop.org/attending/sponsorship" class="navigate">Sponsorship</a><br><a href="https://2020.ecoop.org/attending/conduct" class="navigate">Conduct</a><br><a href="https://2020.ecoop.org/attending/awards" class="navigate">Awards</a><br><a href="https://2020.ecoop.org/attending/Students" class="navigate">Students</a><br><a href="https://2020.ecoop.org/attending/Registration" class="navigate">Registration</a><br><a href="https://2020.ecoop.org/attending/awards" class="navigate">Awards</a><br><a href="https://2020.ecoop.org/attending/sponsoring" class="navigate">Sponsoring</a><br><a href="https://2020.ecoop.org/attending/Conduct" class="navigate">Code of conduct</a><br><a href="https://2020.ecoop.org/attending/Certificate+of+Attendance" class="navigate">Certificate of Attendance</a></div><div class="col-sm-2"><a href="https://2020.ecoop.org/signup" class="navigate">Sign Up</a></div></div></div></div></footer></div><script type="text/javascript">(function(){ var post_process_function = function(n){ var node=(n&&n.nodeType === 1)?n:document; var defaultplacement = $(document).scrollLeft() > 100 ? 'auto left' : 'auto top'; $(node).find('[title]').tooltip({placement: function(tt, elem){ var attval = elem.getAttribute('data-placement'); return attval ? attval : defaultplacement; }, container: false, sanitize: false}); $('.tooltip.fade.in, .ui-tooltip-content').remove(); }; var original_post_process_func = ajax_post_process; ajax_post_process = function(){ original_post_process_func.apply(this,arguments); post_process_function.apply(this,arguments); }; $(document).ready( post_process_function ); })(); </script><script type="text/javascript">jQuery(document).ready(function($) { $(".clickable-row").click(function() { var href = $(this).attr("href"); if( window.location.href.indexOf( href ) < 0 ){ if ($(this).hasClass('new-window') ){ window.open( href ); } else { window.document.location = href; } } }); }); </script></body></html>