Computer Science / Software Engineering

'Computer Science / Software Engineering' 카테고리의 모든 글

총 20개의 글
시간순 정렬
No Image

대응형 계층적 평가를 통한 LLM과 SAST 도구의 Python CWE 예측 성능 분석

대형 언어 모델(Large Language Models, LLMs)은 소프트웨어 개발에 필수적이지만 자주 취약한 코드를 생성합니다. 현재의 코드 취약점 탐지 벤치마크는 이진 분류를 사용하고 있어 CWE 수준의 구체성이 부족하여 반복적인 수정 시스템에서 실질적인 피드백이 어렵습니다. 우리는 LLMs과 SAST 도구를 평가하기 위해 계층화에 대한 인식을 갖춘, CWE 특수 패널티를 사용하는 함수 레벨의 Python 벤치마크인 ALPHA(Adaptive Learning via Penalty in Hierarchical Assessment)를 제시합니다. ALPHA는 과도한 일반화, 과도한 구체화 및 횡단 오류를 구분하여 진단 도구로서 실제 차이점을 반영합니다. 7개의 LLMs과 2개의 SAST 도구를 평가한 결과, LLMs은 전체적으로 SAST보다 훨씬 높은 성능을 보였지만, SAST는 감지가 이루어질 때 더 높은 정확도를 나타냈습니다. 중요한 점은 예측 일관성이 모델 간에 매우 다름(8.26%~81.87%의 일치율)으로, 피드백 주도 시스템에 대한 의미가 큽니다. 우리는 향후 작업을 위해 ALPHA 패널티를 감독 학습 세분화에 통합하는 경로를 제시하며, 이는 원칙적인 계층 인식 취약점 탐지의 가능성을 열어놓습니다.

paper AI 요약
슬리더  스마트 계약을 위한 정적 분석 프레임워크

슬리더 스마트 계약을 위한 정적 분석 프레임워크

이 논문은 이더리움 스마트 컨트랙트에 대한 풍부한 정보를 제공하도록 설계된 정적 분석 프레임워크인 Slither에 대해 설명합니다. 이를 위해 Solidity 스마트 컨트랙트는 SlithIR이라는 중간 표현으로 변환됩니다. SlithIR은 정적 단일 할당(SSA) 형식과 축소된 명령 집합을 사용하여 분석의 구현을 용이하게 하면서, Solitidy를 바이트코드로 변환할 때 잃어버릴 수 있는 의미 정보를 유지합니다. Slither는 데이터 흐름 및 오염 추적과 같은 일반적으로 사용되는 프로그램 분석 기법에 적용됩니다. 우리의 프레임워크는 네 가지 주요 용도가 있습니다 (1) 취약성의 자동 탐지, (2) 최적화 기회의 자동 탐지, (3) 사용자의 컨트랙트 이해 향상, 그리고 (4) 코드 검토 지원. 이 논문에서는 Slither에 대한 개요를 제시하고, 그 중간 표현 설계와 실제 컨트랙트에서의 능력을 평가합니다. 우리는 Slither의 버그 탐지가 빠르고 정확하며, 속도, 견고성 및 검출과 거짓 양성 간의 균형 측면에서 이더리움 스마트 컨트랙트에 있는 문제를 찾는 다른 정적 분석 도구보다 우수함을 보여줍니다. 우리는 대규모 스마트 컨트랙트 데이터 세트를 사용하여 도구를 비교하고 가장 많이 사용되는 1000개의 컨트랙트 결과를 수동으로 검토했습니다.

paper AI 요약
그래프 변환을 이용한 부정적용조건 기반의 사용자 사례 진화 분석

그래프 변환을 이용한 부정적용조건 기반의 사용자 사례 진화 분석

사용 사례(UC)의 품질은 시스템 전체의 품질과 결함률에 영향을 미치며, 이들은 구현의 예상 동작을 지정합니다. 이전 연구에서는 자연어로 작성된 UC를 그래프 변환(GT)을 통해 순차적으로 번역하는 접근법을 정의하였습니다. 각 UC 단계는 하나의 변환 규칙으로 번역되며, 이를 통해 실제 구현이 이루어지기 전에 여러 사양 문제를 검출할 수 있어 개발 비용을 줄일 수 있습니다. 이 논문에서는 UC 진화를 다루기 위해 진화 규칙 이라는 개념을 확장하였습니다. 이러한 진화 규칙은 고차 규칙으로 표현되며, 동시에 변환 규칙 집합의 동작을 변경합니다. 또한 변환 및 진화 규칙에 연관된 **부적용 조건(NAC)** 을 지원합니다. 진화 규칙과 UC 단계를 설명하는 규칙 간 상호 작용 분석은 진화 효과와 잠재적인 영향력을 식별하는데 도움을 줍니다, 실제로 변경 사항이 이루어지기 전에 이를 수행할 수 있습니다. 이 논문에서는 NAC를 사용한 UC 진화의 이론적 기반뿐만 아니라 Verigraph 도구에서 진화 분석 기법을 구현하고 3개의 다른 사례 연구에서 잠재적인 영향력을 검증하였습니다. 결과는 개발자가 UC에 기반한 진화 과정을 돕기 위해 우리 접근법이 적용 가능하고 유용하다는 것을 입증합니다.

paper AI 요약
블록체인 프로그래밍을 안전하게 위한 오브시디안  타입스테이트와 자산

블록체인 프로그래밍을 안전하게 위한 오브시디안 타입스테이트와 자산

블록체인 플랫폼은 상호 신뢰를 구축하지 않은 참여자들 사이에서 중요한 거래를 처리하는 데 널리 사용되고 있습니다. 많은 블록체인은 스마트 컨트랙트를 지원하는 프로그램 가능성을 가지고 있으며, 이들은 지속 가능한 상태를 유지하고 상태를 변화시키는 트랜잭션을 지원합니다. 불행히도, 수많은 스마트 컨트랙트의 버그가 해커에 의해 악용되었습니다. Obsidian은 현재 스마트 컨트랙트에서 일반적으로 발생하는 버그를 정적 분석으로 탐지할 수 있는 새로운 프로그래밍 언어입니다. Obsidian은 Silica라는 핵심 계산을 기반으로 하며, 우리는 이를 통해 유형의 안전성을 증명했습니다. Obsidian은 유현재상(typestate)을 사용하여 부적절한 상태 조작을 탐지하고 선형 유형(linear types)을 사용하여 자산의 악용을 탐지합니다. 우리는 파라메트릭 보험과 공급망 관리 분야에서 Obsidian의 적용성을 평가하는 두 가지 사례 연구를 제시하며, Obsidian의 유형 시스템이 고수준 상태와 리소스 소유권에 대한 추론을 용이하게 한다는 것을 발견했습니다. 우리는 Obsidian 구현과 Solidity 구현을 비교하여, Solidity 구현은 많은 보일러플레이트 체킹 및 상태 추적을 요구하는 반면, Obsidian은 이를 정적으로 처리한다는 것을 관찰했습니다.

paper AI 요약
sql4ml  머신 러닝을 위한 선언적 end-to-end 워크플로우

sql4ml 머신 러닝을 위한 선언적 end-to-end 워크플로우

본 논문에서는 기계 학습(ML) 모델을 SQL로 표현하고 이를 TensorFlow에서 자동으로 훈련시키는 시스템인 sql4ml에 대해 설명합니다. 이 연구의 주된 동기는 데이터 과학 작업 중 관계형 데이터베이스와 ML 프레임워크 사이의 상호작용을 간소화하려는 것입니다. 데이터 전처리와 특성 공정은 일반적으로 데이터베이스에서 이루어지지만, 학습은 별도의 ML 라이브러리에서 진행됩니다. 이러한 분산된 워크플로우는 사용자가 다양한 프로그래밍 패러다임과 소프트웨어 시스템 사이를 넘나들어야 하는 부담을 줍니다. sql4ml을 통해 사용자는 특성 공정 및 ML 알고리즘 모두를 SQL로 표현할 수 있으며, 이 코드가 적절한 형식으로 ML 프레임워크 내에서 훈련될 수 있도록 번역됩니다. 우리의 번역 방법론을 설명하고 세 가지 잘 알려진 ML 알고리즘에 적용한 실험 결과를 제시하며, 데이터베이스 측면에서 전체 워크플로우를 집중화하는 데 따른 사용성의 이점을 논의합니다.

paper AI 요약
No Image

자율주행차 성능 평가를 위한 시나리오 정의를 위한 본질적 체계 객체 지향 프레임워크

자율주행차의 성능을 평가하는 새로운 방법론 개발은 자동 주행 기술의 도입을 가능하게 하기 위해 필수적이다. 이는 자율주행차의 복잡한 운영 영역 때문인데, 여기서 한 가지 해결 방안으로 실제 운전 데이터로부터 얻어진 실제 도로 교통 상황에서 시험 사례를 유도하는 기반 시나리오 평가법이 있다. 이러한 시나리오에서 모델링되는 현실의 복잡성을 정의하는 구조를 만드는 것은 과제이다. 시나리오로서 자격을 갖추기 위해 필요하고 충분한 특징들을 제공하는 내적 정의를 통해, 구성된 시나리오들이 완전하며 상호 비교 가능하다는 것을 보장한다. 본 논문에서는 문헌에 있는 정의를 고려하면서 시나리오라는 개념에 대한 포괄적이며 실행 가능한 정의를 개발하였다. 이를 위해 객체 지향 프레임워크를 제안하여 시나리오와 그 구성 요소들을 속성, 메서드, 그리고 다른 객체들과의 관계를 가진 객체 클래스로 정의한다. 객체지향 접근법은 객체들의 명확성, 모듈성, 재사용성 및 캡슐화를 증가시킨다. 각각의 용어에 대한 정의와 설명을 제공하고, 더 나아가 이 프레임워크는 공개적으로 이용 가능한 코딩 언어로 변환하기 위한 용어들을 번역한다.

paper AI 요약
AI 라이브러리의 숨은 손길, 오픈소스 프로젝트와 커뮤니티를 형성하다

AI 라이브러리의 숨은 손길, 오픈소스 프로젝트와 커뮤니티를 형성하다

이 논문은 오픈 소스 소프트웨어(OSS) 프로젝트에서 인공지능(AI) 라이브러리의 채택과 그 영향을 조사한다. 특히, Java와 Python 기반 OSS에서 AI 라이브러리의 사용 범위를 분석하고 이를 통해 개발 활동, 협업, 그리고 소프트웨어 복잡성과 유지보수에 미치는 영향을 평가한다. 본 연구는 157,700개의 가능 저장소에 대한 대규모 분석을 수행하여 AI 라이브러리 채택의 범위와 그 결과를 제공하며, 이는 소프트웨어 엔지니어링과 OSS 커뮤니티에 중요한 통찰력을 제공한다.

paper AI 요약
DynaFix  실행 수준 동적 정보로 주도되는 반복적 자동 프로그램 수정

DynaFix 실행 수준 동적 정보로 주도되는 반복적 자동 프로그램 수정

소프트웨어 시스템은 현대 사회의 거의 모든 중요한 분야에서 핵심적인 역할을 합니다. 이들 시스템이 복잡해질수록 버그가 늘어나게 되며, 이를 해결하기 위한 프로그램 수정 기술이 필요하게 됩니다. 최근에는 LLM(Large Language Model) 기반의 자동 패치 생성 방법이 연구되고 있으나, 이러한 접근법들은 정적 코드 정보에 크게 의존하여 동적인 실행 정보를 충분히 활용하지 못합니다. 본 논문에서는 DynaFix라는 새로운 방법론을 제시하며, 이는 비침습적인 바이트코드 악기화 기술인 ByteTrace를 이용해 프로그램의 실행 중 발생하는 동적 정보를 수집하고 이를 반복적인 수정 과정에 활용합니다.

paper AI 요약
LLM 기반 자동차 시스템의 안전성 및 보안 설계

LLM 기반 자동차 시스템의 안전성 및 보안 설계

이 논문은 자동차 산업의 혁신에서 가장 중요하게 여겨지는 기능적 안전성과 사이버 보안을 유지하면서 고급 차량 기능의 신속한 프로토타입, 검증 및 배포에 중점을 둔다. 특히 복잡해지고 있는 소프트웨어 정의 차량(SDV)에서 이러한 중요성이 더욱 부각된다. 대규모 언어 모델(LLMs)은 자연어 요구사항에서 구조를 추출하고 초기 행동 모델을 생성하여 이 과정을 가속화할 수 있는 새로운 기회를 제공한다. 그러나 LLMs가 무분별하게 사용될 경우, 정확성과 안전한 동작, 타이밍 결정론, 보안 포지셔닝에 대한 보장이 부족하다는 문제점이 있다. 따라서 이러한 간극을 메우기 위해 기능적 안전성 및 보안 분석을 지원하기 위한 이벤트 체인(Event Chain) 기반의 LLM 가이드 워크플로를 제안한다. 이 방법은 자동차 시스템에서 안전 메커니즘과 타이밍 요구사항을 구성하는 인과적, 시간적, 데이터 흐름 관계를 구조화된 표현으로 제공하며, LLM의 출력을 제약하고 안전하지 않거나 검증되지 않은 동작이 생성되는 것을 방지한다. 또한 이 프레임워크 내에서는 LLM이 전문적인 도메인 지식이 필요한 작업들을 자동화하는 데 도움을 주며, 텍스트 요구사항에서 후보 안전 메커니즘을 도출하거나 기능적 의도와 차량 신호 사양(VSS)을 정렬하고 잠재적인 위험 또는 비안전 상호작용을 식별한다. 뿐만 아니라 검색 강화 생성(RAG)은 LLM의 추론 범위를 인정된 VSS 카탈로그, 안전 매뉴얼 및 아키텍처 설명과 같은 신뢰할 수 있는 데이터 소스로 제한하여 환영 신호나 평가되지 않은 데이터 경로를 줄인다. 이를 통해 자동으로 생성된 모델은 안전 및 사이버 보안 심사에 필요한 권위있는 출처와의 추적 가능성을 유지한다. 이벤트 체인 모델과 LLM 간의 시너지는 기능적 안전성(예 시간 예산 위반, 인과 체인 파괴, 누락된 안전 반응) 및 사이버 보안(예 무단 신호 경로, 일관되지 않은 신뢰 경계 또는 예상치 못한 제어 영향력)에 대한 자동 사전 분석을 가능하게 한다. 코드가 타겟 플랫폼으로 배포되기 전에 ISO 26262 파트 6(소프트웨어 아키텍처 제약 조건) 및 ISO 21434(안전한 신호 및 인터페이스 처리)와 일치하는 일관성 검사를 수행한다. 결과적으로 LLM 생성 아티팩트는 더 신뢰할 수 있으며, 기존 안전 공학 워크플로에 직접 통합될 수 있다. 이러한 제안된 파이프라인은 자동차 코드의 안전 및 보안 분석 절차를 자동화하려는 시도로서 초기 디자인 단계에서의 노력 감소와 동시에 현대적인 안전 및 사이버 보안 요구사항을 충족하는 엄격함을 유지한다. 이를 증명하기 위해 우리는 물리적 테스트벤치와 시뮬레이션 플랫폼 기반의 ADAS 시나리오에 이 워크플로를 적용한다.

paper AI 요약
RovoDev 코드 검토자  아틀라시안에서의 대규모 온라인 LLM 기반 코드 검토 자동화 평가

RovoDev 코드 검토자 아틀라시안에서의 대규모 온라인 LLM 기반 코드 검토 자동화 평가

코드 리뷰는 현대 소프트웨어 엔지니어링의 핵심이며, 품질 보장을 위해 중요합니다. 그러나 프로젝트가 복잡해짐에 따라 수동 코드 리뷰는 시간과 자원을 많이 필요로 하게 되며, 이는 개발 과정에서 병목 현상을 일으킬 수 있습니다. 대형 언어 모델(Large Language Models)을 사용하여 코드 리뷰의 일부를 자동화함으로써 이러한 문제를 해결할 수 있습니다. RovoDev 코드 리뷰어는 데이터 보안, 실용적인 가이드라인 제공, 새로운 프로젝트에 대한 컨텍스트 인식 능력 등 다양한 기능을 갖춘 자동화 도구입니다.

paper AI 요약
기계를 위한 코드, 인간만을 위한 것이 아니라  코드 헬스 메트릭으로 AI 친화성을 측정하기

기계를 위한 코드, 인간만을 위한 것이 아니라 코드 헬스 메트릭으로 AI 친화성을 측정하기

AI가 코드를 이해하고 개선하는 데 있어, 인간이 읽기 쉬운 코드는 어떻게 도움을 줄 수 있을까? 본 논문은 CodeHealth 지표를 사용하여 AI 친화적인 코드 디자인이 더 나은 결과를 내는지 분석한다. 또한, Perplexity와 Source Lines of Code(SLOC)와 비교해보며, 인간이 이해하기 쉬운 코드가 실제로 AI에게도 더 친근한지 확인한다.

paper AI 요약
대형 언어 모델로 자동 이슈 할당 혁신

대형 언어 모델로 자동 이슈 할당 혁신

본 논문에서는 소프트웨어 개발 프로젝트에서 이슈 할당의 중요성과 그 과정에 대한 문제점을 다룹니다. 특히 수동 할당이 비효율적이며, 시간을 많이 잡아먹는다는 점을 강조합니다. 이를 해결하기 위해 LLM 기반의 자동화된 이슈 할당 방법론인 LIA(Large Language Model-based Issue Assignment)를 소개하며, 이 방법론은 텍스트 기반과 그래프 기반 방법론들의 한계점을 극복할 수 있는 가능성을 제시합니다. 본 연구에서는 두 개의 대규모 오픈소스 프로젝트 데이터셋(EclipseJDT와 Mozilla)을 사용하여 LIA가 기존 방법론들보다 우수한 성능을 보이는 것을 입증하였습니다. ###

paper AI 요약
인라인 코더  리포지토리 수준의 코드 생성 혁신

인라인 코더 리포지토리 수준의 코드 생성 혁신

이 논문에서는 코드 생성 대형 언어 모델(LLM)의 발전에 따라, 저장소 수준의 코드 생성에 대한 관심을 살펴보고 있습니다. 저장소 수준의 코드 생성은 기능 수준 생성과 달리 전체 저장소를 고려해야 하며, 프로그래밍 관례와 API 사용 및 함수 간 복잡한 종속성을 이해해야 합니다. 본 논문에서는 이를 지원하기 위한 새로운 프레임워크인 **InlineCoder**를 제안합니다.

paper AI 요약
하이브리드-코드  프라이버시 보호형 다중 에이전트 임상코딩 시스템

하이브리드-코드 프라이버시 보호형 다중 에이전트 임상코딩 시스템

본 논문은 감성 분석 및 텍스트 분류와 같은 자연어 처리 작업에서 딥 러닝 기법의 효과를 조사합니다. 본 논문에서는 RNN과 트랜스포머 모델을 통합하여 성능을 향상시키는 새로운 아키텍처를 제안합니다. 여러 데이터셋에 걸친 실험 결과, 기존 방법보다 상당한 개선이 있음을 보여줍니다.

paper AI 요약

< 분야별 논문 현황 (Total: 566) >

Quantum Physics
5

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키