서지주요정보
Static and dynamic combined analysis for bug detection of web apps = 웹 앱 결함 검출을 위한 정적 동적 혼합 분석
서명 / 저자 Static and dynamic combined analysis for bug detection of web apps = 웹 앱 결함 검출을 위한 정적 동적 혼합 분석 / Joonyoung Park.
발행사항 [대전 : 한국과학기술원, 2022].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8038595

소장위치/청구기호

학술문화관(도서관)2층 학위논문

DCS 22010

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

JavaScript programs are prevalent and JavaScript developers need better tools to write high-quality programs. Static analysis is one of the powerful foundations underlying developer tools. However, dynamic features of the language obstruct the practical use of static analysis. Annual language updates require static analyzers to catch up constantly, and host environments require manual efforts to handle extra semantics. By leveraging concrete interpreters, static and dynamic combined analyses have alleviated such challenges. However, they have limitations to maximizing the benefits of dynamic analysis. In this thesis, we present a novel static and dynamic combined analysis framework for the bug detection of JavaScript web applications. It provides two perspectives of using dynamic analysis: improving analysis precision aggressively by sacrificing soundness or analysis performances soundly. In the first perspective, the dynamic analysis samples partial execution flows among all possible program behavior, and the static analysis utilizes the dynamically collected states. We present a staged combined analysis to precisely analyze the event loop of web applications with a novel analysis unit, the EventHandler. We automate modeling opaque code in static analysis via dynamic analysis as well. Although they cannot guarantee the soundness of the analysis, they can aggressively reduce false positives and manual modeling efforts in static analysis for the practical use of static analysis. In the other perspective, we soundly combine static and dynamic analyses to leverage the benefits of high-performance JavaScript engines. We study both directions of alternating abstract and concrete semantics: triggering dynamic analysis during static analysis and applying abstract semantics on dynamic analysis. Our experiment shows that SAFE_DS, the first direction of combined analysis, is 6.3x faster than the baseline static analyzer SAFE, and the other JSCA is 13.7x faster than SAFE_DS.

이 논문에서는 웹 애플리케이션의 결함 검출을 위한 정적 동적 혼합 분석을 다룬다. 동적 분석을 정적 분석과 혼합하는 두 가지 관점을 제안한다. 놓치는 결함이 있더라도 정확도를 공격적으로 향상하기 위한 방향과 놓치는 결함 없이 안전하게 혼합하여 분석 속도를 높이는 방향이다. 첫 번째 관점에서 동적 분석은 가능한 모든 프로그램의 행동 중 일부를 수집하는 데 활용되며 수집된 정보를 정적 분석에서 활용한다. 우리는 웹 애플리케이션의 이벤트 시스템을 정확하게 분석하고 불투명 코드를 자동으로 대체할 방법을 제안한다. 위 기법은 결함을 놓칠 수 있지만, 공격적으로 거짓 경보와 수작업을 줄여서 정적 분석의 실용성을 높인다. 다른 관점으로는 고도의 최적화로 빠른 속도와 최신 기능을 탑재한 자바스크립트 엔진의 장점을 활용하면서도 놓치는 결함 없이 안전한 혼합 분석을 제안한다. 우리는 정적 분석을 기반으로 동적 분석을 활용하는 방향과 동적 분석 위에서 정적 분석의 추상화 의미를 사용하는 두 가지 방향을 모두 연구했다. 실험 결과 정적 분석 기반으로 동적 분석을 활용하는 방식이 기존 정적 분석기보다 6.3배 빠른 성능을 보였고, 동적 분석 위에서 추상화 의미를 사용하는 방식은 거기에 더해서 13.7배 빠른 성능을 보이는 혼합 분석을 선보였다.

서지기타정보

서지기타정보
청구기호 {DCS 22010
형태사항 v, 68 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 박준영
지도교수의 영문표기 : Sukyoung Ryu
지도교수의 한글표기 : 류석영
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 62-67
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서