DOI QR코드

DOI QR Code

Static Analysis of Large Scale Software Repositories Using WALA and Boa

WALA와 Boa를 활용하여 대규모 소프트웨어 저장소를 정적으로 분석하는 도구 개발

  • Received : 2017.05.10
  • Accepted : 2017.07.17
  • Published : 2017.10.15

Abstract

A program analysis of a large-scale open-source software repository has a significant meaning in that it allows us to examine the changes and improvements of the software in repositories, and this brings more reliable results based on a large amount of programs. In this paper, we introduce a new static analysis framework WALABOA, which enables a scalable static analysis of large-scale software repositories. In addition, we show new findings from applying WALABOA, together with a module comparing the analysis results from a static analysis and a dynamic analysis, in evaluation of the field-based analysis, one of JavaScript static analysis techniques used in WALA.

대규모 공개 소스 소프트웨어 저장소를 대상으로 프로그램 분석을 수행하면, 각 저장소의 소프트웨어의 변화 과정을 살펴볼 수 있고, 방대한 양의 프로그램을 분석함으로써 신뢰도가 높은 분석 결과를 얻을 수 있다는 점에서 의의가 있다. 본 논문에서는 대규모 소프트웨어 저장소를 대상으로 확장 가능하게 정적 프로그램 분석을 수행할 수 있는 프레임워크인 WALABOA를 소개한다. 나아가, 정적 분석 결과인 정적 함수 호출 그래프와 동적 분석 결과인 동적 함수 호출 그래프를 비교하는 모듈을 WALABOA에 추가하여, 자바스크립트 분석기 WALA에서 제공하는 분석 기법 중 하나인 필드 기반 분석(field-based analysis) 결과를 평가하는 데 활용하였다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. GitHub, [Online]. Available: https://github.com/
  2. SourceForge, [Online]. Available: https://sourceforge.net/
  3. GoogleCode, [Online]. Available: https://code.google.com/
  4. Boa, [Online]. Available: http://boa.cs.iastate.edu/
  5. Robert Dyer, Hoan Anh Nguyen, Hridesh Rajan, and Tien N. Nguyen. Boa: A Language and Infrastructure for Analyzing Ultra-Large Scale Software Repositories, International Conference on Software Engineering 2013.
  6. WALA, [Online]. Available: http://wala.sourceforge.net/
  7. Asger Feldthaus, Max Schafer, Manu Sridharan, Julian Dolby, and Frank Tip. Efficient Construction of Approximate Call Graphs for JavaScript IDE Services, International Conference on Software Engineering 2013.
  8. Hadoop, [Online]. Available: http://hadoop.apache.org/
  9. Yoonseok Ko, Hongki Lee, Julian Dolby, and Sukyoung Ryu. Practically Tunable Static Analysis Framework for Large-Scale JavaScript Applications, Automated Software Engineering 2015.
  10. Manu Sridharan, Julian Dolby, Satish Chandra, Max Schafer, and Frank Tip. Correlation Tracking for Points-To Analysis of JavaScript, European Conference on Object-Oriented Programming 2012.
  11. Changhee Park and Sukyoung Ryu. Scalable and Precise Static Analysis of JavaScript Applications via Loop-Sensitivity, European Conference on Object-Oriented Programming 2015.
  12. Esben Andreasen and Anders Moller. Determinacy in Static Analysis for jQuery, International Conference on Object-Oriented Programming, Systems, Languages, and Applications 2014.
  13. ProBe: [Online]. Available: http://plg.uwaterloo.ca/-olhotak/probe/
  14. Intel Open Source. Run, Rabbit, Run! [Online]. Available: https://01.org/html5webapps/online/runrabbit-run/