Skip to main content
QUICK REVIEW

[논문 리뷰] A Comprehensive Survey of Benchmarks for Automated Improvement of Software's Non-Functional Properties

Aymeric Blot, Justyna Petke|arXiv (Cornell University)|2022. 12. 16.
Cloud Computing and Resource Management인용 수 4
한 줄 요약

이 논문은 소프트웨어의 비기능적 성질의 자동 개선에 사용되는 벤치마크에 대한 종합적인 서베이를 제시하며, 주요 저장소에서 386篇의 관련 논문을 분석한다. 연구 결과, 실행 시간이 가장 많이 대상으로 삼는 성질이며(62%), 정적 분석이 지배적(53%)이며, SPEC가 가장 인기 있는 벤치마크이지만(33편), 다목적 최적화와 다양한 프로그래밍 언어 지원(예: 파이썬, 자바스크립트)은 여전히 미비한 것으로 드러났다.

ABSTRACT

Performance is a key quality of modern software. Although recent years have seen a spike in research on automated improvement of software's execution time, energy, memory consumption, etc., there is a noticeable lack of standard benchmarks for such work. It is also unclear how such benchmarks are representative of current software. Furthermore, frequently non-functional properties of software are targeted for improvement one-at-a-time, neglecting potential negative impact on other properties. In order to facilitate more research on automated improvement of non-functional properties of software, we conducted a survey gathering benchmarks used in previous work. We considered 5 major online repositories of software engineering work: ACM Digital Library, IEEE Xplore, Scopus, Google Scholar, and ArXiV. We gathered 5000 publications (3749 unique), which were systematically reviewed to identify work that empirically improves non-functional properties of software. We identified 386 relevant papers. We find that execution time is the most frequently targeted property for improvement (in 62% of relevant papers), while multi-objective improvement is rarely considered (5%). Static approaches are prevalent (in 53% of papers), with exploratory approaches (evolutionary in 18% and non-evolutionary in 14% of papers) increasingly popular in the last 10 years. Only 40% of 386 papers describe work that uses benchmark suites, rather than single software, of those SPEC is most popular (covered in 33 papers). We also provide recommendations for choice of benchmarks in future work, noting, e.g., lack of work that covers Python or JavaScript. We provide all programs found in the 386 papers on our dedicated webpage at https://bloa.github.io/nfunc_survey/ We hope that this effort will facilitate more research on the topic of automated improvement of software's non-functional properties.

연구 동기 및 목표

  • 소프트웨어의 비기능적 성질(NFPs)인 실행 시간, 메모리, 에너지 등의 자동 개선에 사용되는 벤치마크를 식별하고 분석하는 것.
  • 기존의 경험적 연구에서 소프트웨어 대상, 프로그래밍 언어, 벤치마크 세트의 보편성과 다양성을 평가하는 것.
  • 비기능적 성질 개선을 위한 접근 방식(정적, 진화적, 탐색적 등)의 종류와 그 채택 추세를 평가하는 것.
  • 현행 연구에서의 격차를 부각하는 것—특히 현대적 언어(예: 파이썬, 자바스크립트), 모바일 플랫폼, 다목적 최적화의 부족한 지원.
  • 향후 연구 표준화를 지원하기 위해 모든 386개의 분석 대상 프로그램과 벤치마크를 체계적으로 정리하고 공개할 수 있는 저장소를 제공하는 것.

제안 방법

  • ACM 디지털 라이브러리, IEEE Xplore, 스파우스, 구글 색색, arXiv를 포함한 다섯 개의 주요 저장소에서 체계적 문헌 서베이를 수행하여 5,000편의 출판물을 확보.
  • 반복적 필터링을 통해 3,749편의 고유 논문을 식별하고, 수작업 검토를 통해 비기능적 성질 개선에 관련된 386편의 경험적 연구를 선별.
  • 선별된 논문을 다음 기준에 따라 분류: (1) 대상 비기능적 성질, (2) 개선 접근 방식(정적, 진화적, 탐색적), (3) 벤치마크 유형(단일 소프트웨어 또는 세트), (4) 소프트웨어 특성.
  • 키워드 기반 검색과 초도 수작업 선별을 통해 100편의 논문을 선별하여 검색어를 정밀 조정하고 관련 연구 분야의 포괄성을 확보.
  • 벤치마크 사용 패턴의 집계 및 분석—재사용 빈도와 언어 다양성 포함.
  • 모든 식별된 프로그램과 벤치마크를 전용 웹사이트를 통해 공개: https://bloa.github.io/nfunc_survey/

실험 결과

연구 질문

  • RQ1RQ1: 소프트웨어의 자동 비기능 성능 개선에 관한 경험적 연구는 얼마나 보편적인가? 그리고 가장 자주 대상으로 삼는 비기능적 성질은 무엇인가?
  • RQ2RQ2: 비기능적 성질 향상을 검증하기 위해 가장 흔히 사용되는 소프트웨어와 벤치마크는 무엇인가?
  • RQ3RQ3: 실제 소프트웨어 다양성(프로그래밍 언어 및 애플리케이션 도메인 포함)을 고려할 때, 사용된 벤치마크는 얼마나 대표적인가?
  • RQ4RQ4: 가장 흔히 사용되는 접근 방식(정적, 진화적 등)은 무엇이며, 시간이 지남에 따라 어떻게 변화해 왔는가?
  • RQ5RQ5: 현재의 벤치마킹 관행에서의 주요 격차는 무엇인가? 특히 다목적 최적화와 현대 소프트웨어 스택에 대한 지원 부족을 중심으로.

주요 결과

  • 실행 시간이 가장 자주 대상으로 삼는 비기능적 성질이며, 분석된 386편의 논문 중 62%에서 개선되었다.
  • 다목적 최적화를 고려한 논문은 오직 5%에 불과하여, 잠재적 트레이드오프가 존재하는 바에도 불구하고 단일 성질 개선에 집중하고 있음을 시사한다.
  • 정적 분석 접근 방식이 지배적(논문의 53%)이며, 이는 탐색적 방법(진화적 18%, 비진화적 14%)을 이룬다. 최근 10년간 이러한 추세가 뚜렷하게 증가하고 있다.
  • 386편의 논문 중 40%만이 벤치마크 세트를 사용하며, 그 중에서도 SPEC가 가장 인기 있으며 33편에서 인용되었다.
  • 학술적 벤치마크와 실제 소프트웨어 사이에 심각한 괴리가 존재한다: 파이썬, 자바스크립트, 모바일 플랫폼이 현재 연구에서 부족하게 다뤄지고 있다.
  • 본 서베이에서는 현대 소프트웨어 스택에 대해 표준화되고 대표적인 벤치마크의 부족함을 식별하였으며, 실행 시간 이외의 비기능적 성질에 특히 그렇다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.