JavaScript is used in various areas recently and is ongoing study now. Furthermore, there is a lot of potential for growth. We have been studying JavaScript in various aspects and developing a tool, namely Scalable Analysis Framework for ECMAScript (SAFE.) While several modules exist in SAFE, in this paper, we concentrate on the bug detector module and explain how we implemented the module and how we extended the module to detect more bugs. Additionally, we also extended the single-thread analysis to the multi-thread one to reduce analysis time and we implemented a new worklist order algorithm to maximize basic block coverage within the given number of iterations. The new worklist order algorithm also reduces the analysis time. For each methods, the multi-thread analysis has reduced analysis time up to 74.8% and the new worklist order algorithm has reduced analysis time up to 64.4%. We also have decreased analysis time up to 87.2% by combining two methods.
자바스크립트는 요즘 다양한 분야에서 사용되고 있는 언어이며 현재도 계속해서 연구가 진행되고 있고 앞으로도 더욱 발전할 가능성이 있는 언어이다. 우리는 자바스크립트 언어를 다양한 측면에서 연구하고, 이를 위한 도구인 `ECMAScript를 위한 확장 가능한 분석 프레임워크` (SAFE)를 개발하였다. SAFE에는 자바스크립트를 위한 여러 가지 모듈들이 존재하지만 본 논문에서는 자바스크립트 버그 감지기 모듈에 중점을 두고 이를 어떻게 구현하고 확장하였는지에 대하여 설명하였다. 또한, 자바스크립트 분석기 모듈의 분석 시간을 단축시키기 위해서 기존의 단일 스레드 분석을 다중 스레드로 확장하였고, 주어진 분석 횟수 내에서 최대한 분석되는 베이직 블록의 개수를 높이기 위해서 워크리스트를 변경한 방법에 대해서도 소개하였다. 워크리스트의 변경은 분석 시간도 단축시킬 수 있었는데, 각각의 방법에 대해서 다중 스레드는 분석 시간을 최대 74.8%, 워크리스트 변경은 최대 64.4%까지 단축시켰다. 두 방법을 함께 사용했을 때는 최대 87.2%까지 단축이 되었다.