• 제목/요약/키워드: 코드 복잡도

검색결과 615건 처리시간 0.029초

코드 가시화의 서비스 모듈화 (Service Modulization of the Code Visualization)

  • 이진협;이근상;서채연;김영철
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 춘계학술발표대회
    • /
    • pp.629-632
    • /
    • 2017
  • 국내 대기업들은 충분한 SW테스팅으로 SW의 품질과 안정성을 점검하고 있다. 반면, 중소기업들은 부족한 인력과 비싼 상용 테스팅 도구 등으로 테스팅 환경이 어려운 실정이다. 이로 인한 테스트 부족 속에서 SW제품을 출시한다. 이 논문에서는 이런 문제의 해결방안 중 하나로 개발자가 코드 내부의 복잡도를 측정하여 잠재적인 오류를 줄이는데 초점을 둔다. 이를 위해 공개 소스프트웨어 기반의 도구 개선 제안 및 가시화 구현을 하였다. 즉, 벤처/중소 기업의 개발자들에게 각각 품질 요소들의 가시화 서비스가 가능하다. 이는 코드 내부의 결합력/응집력/복잡도/재사용 등의 가시적 모듈화로 SW품질 개선이 가능하다.

Open Source 기반 툴 체인화를 통한 코드 정적 분석 연구 (A Practical Study on Code Static Analysis through Open Source based Tool Chains)

  • 강건희;김영철;이근상;김영수;박용범;손현승
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제21권2호
    • /
    • pp.148-153
    • /
    • 2015
  • 국내의 소프트웨어 산업계는 고품질 소프트웨어를 위해, 개발/테스트 프로세스, 성숙도 측정등에 초점을 두고 있다. 그러나 실제 중소기업의 산업현장에서는 코드중심으로 개발되고 있다. 그리고 대부분의 기존 레거시 시스템은 설계의 부재 그리고 코드 패칭으로 코드 내부의 복잡도가 매우 높은 현실이다. 이를 해결하고자, 코드의 가시화(visualization)를 적용하였다. 이 가시화는 모듈간의 복잡도를 줄이려는 목적을 가지고 있다. 이를 위해 기존 공개 도구로 툴 체인 구성 방법을 제안한다. 제안한 방법은 NIPA의 SW Visualization 기법을 적용 확장하였다. 또한 코드 가시화내의 품질지표 중에 결합도 요소 중의 나쁜 지표에 대한 리팩토링 시도이다. 결과적으로 레가시 코드에 대해 역 공학 기법(from programming via model to architecture)적용과 이를 통한 소프트웨어 고품질화이다.

IDL : 데이터 처리, 분석 가시화 소프트웨어

  • 신승원;김경섭;윤태호;한명희
    • 전기의세계
    • /
    • 제53권8호
    • /
    • pp.43-47
    • /
    • 2004
  • IDL (Interactive Data Languate)은 미국의 RSI 회사 (Research Systems inc.)에서, 데이터 처리 및 분석, 가시화를 주 목적으로 개발된 응용 소프트웨어이다. IDL은 특히 복잡한 수학적 분석을 위하여 배열 개념의 연산 처리 과정으로 설계되었으며, 시각적인 표현의 구현을 위하여 데이터의 가시화에 대한 많은 기능들을 제공한다. 따라서 종래의 프로그램 언어에서 수백 라인들로 이루어진 코드를, IDL에서는 단 몇 줄의 코드 구성으로 복잡한 데이터 처리 및 가시화가 가능하다. (중략)

  • PDF

심볼 기반 빔포밍을 위한 제한 피드백 기법 (Limited Feedback Technique for Symbol-Based Beamforming)

  • 이현호;고영채
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2010년도 추계학술대회
    • /
    • pp.214-216
    • /
    • 2010
  • 본 논문에서는, 다중송수신안테나 직교주파수분할다중화 (MIMO-OFDM) 시스템에서 심볼 기반 빔포밍을 위한 제한 피드백 기법을 고려하였다. 공간적 상관도가 존재하는 다중전달경로 채널에서, 심볼 기반 빔포밍을 위한 제한 피드백 기법과 코드북을 제안하였다. 모의실험 결과를 통해 제안한 기법이 낮은 복잡도를 가짐에도 불구하고 기존의 iterative 알고리즘을 기반으로 하는 심볼 기반 빔포밍을 이용한 제한 피드백 기법보다 우수한 성능을 보임을 확인하였다. 또한, 제안한 코드북이 랜덤 벡터 양자화 코드북보다 우수한 성능을 보임을 확인하였다.

  • PDF

Aspect-Oriented Programming을 이용한 Source Code 분석 시스템 설계 (A Design of Source Code Analysis System Using Aspect Oriented Programming)

  • 최민용;양해술
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2002년도 추계학술발표논문집 (하)
    • /
    • pp.2107-2110
    • /
    • 2002
  • 소프트웨어를 설계, 구현하는데 있어서의 어려움이란 주변 환경이나 제반 기술 등과 같은 어려움도 있겠지만 실제 프로그래머가 작성하는 소스코드의 복잡성도 그 원인중의 하나라 할 수 있다. 이와 같은 문제의 해결을 위해서는 소스코드의 접근이나 이의 테스트를 위한 결합 등의 유연성이 높은 소프트웨어 기술이 필요한 실정이다. 이에 따라 AOP(Aspect-Oriented Programming) 기술을 이용하여 소스코드 자체의 접근 및 그의 처리를 용이하게 하여 복잡한 시스템의 개발이나 기존 시스템의 관리에 있어 효율을 높이고자 한다.

  • PDF

유사성 해시 기반 악성코드 유형 분류 기법 (Method of Similarity Hash-Based Malware Family Classification)

  • 김윤정;김문선;이만희
    • 정보보호학회논문지
    • /
    • 제32권5호
    • /
    • pp.945-954
    • /
    • 2022
  • 매년 수십억 건의 악성코드가 탐지되고 있지만, 이 중 신종 악성코드는 0.01%에 불과하다. 이러한 상황에 효과적인 악성코드 유형 분류 도구가 필요하지만, 선행 연구들은 복잡하고 방대한 양의 데이터 전처리 과정이 필요하여 많은 양의 악성코드를 신속하게 분석하기에는 한계가 있다. 이 문제를 해결하기 위해 본 논문은 유사성 해시를 기반으로 복잡한 데이터 전처리 과정 없이 악성코드의 유형을 분류하는 기법을 제안한다. 이 기법은 악성코드의 유사성 해시 정보를 바탕으로 XGBoost 모델을 학습하며, 평가를 위해 악성코드 분류 분야에 널리 활용되는 BIG-15 데이터셋을 사용했다. 평가 결과, 98.9%의 정확도로 악성코드를 분류했고, 3,432개의 일반 파일을 100% 정확도로 구분했다. 이 결과는 복잡한 전처리 과정 및 딥러닝 모델을 사용하는 대부분의 최신 연구들보다 우수하다. 따라서 제안한 접근법을 사용하면 보다 효율적인 악성코드 분류가 가능할 것으로 예상된다.

CodeBERT 모델의 전이 학습 기반 코드 공통 취약점 탐색 (Detecting Common Weakness Enumeration(CWE) Based on the Transfer Learning of CodeBERT Model)

  • 박찬솔;문소영;김영철
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제12권10호
    • /
    • pp.431-436
    • /
    • 2023
  • 소프트웨어 공학 영역에 인공지능의 접목은 큰 화두 중 하나이다. 전 세계적으로 1) 인공지능을 통한 소프트웨어 공학, 2) 소프트웨어 공학을 통한 인공지능 두 가지 방향으로 활발히 연구되고 있다. 그 중 소프트웨어 공학에 인공지능을 접목하여 나쁜 코드 영역을 식별하고 해당 부분을 리팩토링하는 연구가 진행되고 있다. 해당 연구에서 인공지능이 나쁜 코드 요소의 패턴을 잘 학습하기 위해서는 학습하려는 나쁜 코드 요소가 라벨링 된 데이터셋이 필요하다. 문제는 데이터셋이 부족할뿐더러, 자체적으로 수집한 데이터셋의 정확도는 신뢰할 수 없다. 이를 해결하기 위해 코드 데이터 수집 시 전체 코드가 아닌 높은 복잡도를 가진 코드 모듈 영역을 대상으로만 나쁜 코드 데이터를 수집한다. 이후 수집한 데이터셋을 CodeBERT 모델의 전이 학습하여 코드 공통 취약점을 탐색하는 방법을 제안한다. 해당 데이터셋을 통해 CodeBERT 모델이 코드의 공통 취약점 패턴을 더 잘 학습할 수 있다. 이를 통해 전통적인 방법보다 인공지능 모델을 이용해 코드를 분석하고 공통 취약점 패턴을 더 정확하게 식별할 수 있을 것으로 기대한다.

벡터 양자화를 위한 고속 탐색 알고리듬에 관한 연구 (A Study on the Fast Search Algorithm for Vector Quantization)

  • 지상현;김용석;이남일;강상원
    • 한국음향학회지
    • /
    • 제22권4호
    • /
    • pp.293-298
    • /
    • 2003
  • 본 논문에서는 NNVQ (nearest neighbor vector quantization)를 위한 고속탐색 알고리듬을 제안하였다. 제안된 알고리듬은 입력 벡터 내 지정된 요소의 부호화 왜곡을 임계값과 비교해서 최적 코드워드가 될 가능성이 없는 코드워드를 탐색 대상 코드워드에서 제외함으로써 코드북 탐색의 범위를 줄인다. 이를 통해 기존의 풀서치(full-search) 알고리듬과 동일한 SD(spectral distortion) 성능을 얻으면서 부호화 과정에서의 처리시간과 복잡도를 감소시킨다. 제안된 알고리듬을 Gauss-Markov 소스에 대해 설계된 일반적인 벡터 양자화기와 3GPP에서 표준화된 AMR (adaptive multi-rate) 음성 코덱의 LSP 양자화기에 각각 적용하여 실험하였다. 실험결과 제안된 알고리듬은 SD 성능감쇄 없이 탐색 대상 범위를 감소시킴으로써 부호화시 복잡도를 50%이상 줄일 수 있었다.

공통평가기준 인증을 위한 SW의 내부 구조 및 복잡도 분석 사례에 관한 연구 (Case Study on Analysis for Well-Structured Internals and Complexity of Software for Common Criteria)

  • 최정란;서동수;배창환
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2014년도 추계학술발표대회
    • /
    • pp.642-645
    • /
    • 2014
  • 본 논문은 EAL6 수준의 공통평가기준 인증을 위해 ADV(개발) 클래스에서 ADV_INT에 대해 기술하였다. 특히, 테스트용 스마트 운영체제 소스코드 분석을 통해 구현된 내부 구조가 잘 구조화되었는지, 지나치게 복잡하지 않았는지 입증하기 위해 시도를 하였다. 다양한 소스코드 분석 도구를 통해 사이클로매틱복잡도(CyC), 정보흐름복잡도(IFC), Weighted IFC, fan-in, fan-out 등의 정보를 추출하였고, 추출된 정보를 기반으로 적용하여 수행하였다. 구조화된 정보 분석을 위해 객체지향 분석 도구를 사용한 재구조화 기법을 적용하여 수행하였다. 객체간 결합도, 팬아웃 등의 정보 등을 추출하였다. 추출된 정보를 기반으로 SW의 복잡도 및 구조적 정보를 분석한 결과 응집도 분석에 한계, TOE의 형상관리 정보 등의 부재에 따른 추출된 정보 분석의 한계, 활용된 도구의 분석 정보의 재반영 부재 및 구조적 분석 등의 한계점이 드러났다.

새로운 방식의Complementary Code Keying Orthogonal Frequency Division Multiplexing (CCK-OFDM) 무선랜 모뎀에 관한 연구 (A New Type of Complementary Code Keying Orthogonal frequency Division Multiplexing (CCK-OFDM) Wireless LAN Modem)

  • 정원정;박현철
    • 한국통신학회논문지
    • /
    • 제29권8C호
    • /
    • pp.1069-1075
    • /
    • 2004
  • 본 논문에서는 변수 3개를 가지는 1차 리드뮬러 (Reed-Muller: RM(1, 3)) 코드를 이용하여 보수 코드 키잉(Complementary Code Keying: CCK)방식의 8칩을 동일하게 생성하는 것을 보였다. 여기서 CCK 코드워드는 하나의 에러 정정이 가능하고, 평균 전력 대 최대 전력 비 (Peak-to-Average Power Ratio: PAPR)가 2인 골레이 시퀀스 (Golay Sequence)이다. 이러한 RM 코드 성질을 이용하여 우리는 CCK방식과 직교 주파수 분할 다중(Orthogonal Frequency Division Multiplexing: OFDM) 시스템 방식을 동시에 사용하는 무선랜 모뎀을 제안하였다. 제안된 시스템을 바탕으로 RM 코드 변수가 4개로 확장, 즉 RM(1, 4)를 적용 시, 성능이 개선되고 OFDM 시스템에서 큰 문제점인 PAPR이 최대 9㏈이하로 나타남을 살펴보았다. 일반적으로 RM(1, 4)를 위해서 수신부에서는 16 256 크기의 고속 하다마드 변환 (Fast Hadamard Transform: FHT) 행렬이 필요하지만, 제안된 시스템에서는 성능 열화 없이 8 64와 2 4 크기의 FHT행렬을 각각 하나씩 사용하여 그 복잡도 (Complexity)를 줄일 수 있다. 일반화된 형태로서RM 코드의 변수가 증가하더라도 수신부의 복잡도는 증가하지 않고, 성능 및 PAPR 개선의 효과를 가질 수 있다.