• 제목/요약/키워드: Software Graph

검색결과 310건 처리시간 0.025초

스택-포인터 네트워크와 부분 트리 정보를 이용한 한국어 의존 구문 분석 (Korean Dependency Parsing Using Stack-Pointer Networks and Subtree Information)

  • 최용석;이공주
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제10권6호
    • /
    • pp.235-242
    • /
    • 2021
  • 본 연구에서는 포인터 네트워크 모델을 의존 구문 분석에 맞게 확장한 스택-포인터 네트워크 모델을 이용하여 한국어 의존 구문 분석기를 구현한다. 스택-포인터 네트워크 모델 기반 의존 구문 분석기는 인코더-디코더로 구성되어 있으며 다른 의존 구문 분석기와 달리 내부 스택을 갖고 있어 루트부터 시작하는 하향식 구문 분석이 가능하다. 디코더의 각 단계에서는 의존소를 찾기 위해 부모 노드뿐만 아니라 이미 파생된 트리 구조에서 조부모와 형제 노드를 참조할 수 있다. 기존 연구에서는 단순하게 해당 노드들의 합을 계산하여 입력으로 사용하였고, 형제 노드의 경우에는 가장 최근에 방문했던 것만을 사용할 수 있었다. 본 연구에서는 그래프 어텐션 네트워크를 도입하여 이미 파생된 부분 트리를 표현하고 이를 스택-포인터 네트워크의 입력으로 사용하도록 구문 분석기를 수정한다. 세종 코퍼스와 모두의 코퍼스를 대상을 실험한 결과 레이어 2의 그래프 어텐션 네트워크를 이용하여 부분 트리를 표현했을 때 특히 문장 단위의 구문 분석 정확도에서 많은 성능 향상을 확인할 수 있었다.

링크 플러딩 공격 완화를 위한 소프트웨어 정의 네트워크 기반 허니넷 (Software-Defined HoneyNet: Towards Mitigating Link Flooding Attacks)

  • 김진우;이승수;신승원
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2018년도 추계학술대회
    • /
    • pp.152-155
    • /
    • 2018
  • 지난 몇 년간, 링크 플러딩 공격이라는 새로운 형태의 분산 서비스 공격 (DDoS) 이 제안되었다. 링크 플러딩 공격은 기존 DDoS 공격과는 다르게 선택적으로 라우터 간 코어 링크를 혼잡 시킴으로써 보다 넓은 범위에 지대한 영향을 끼친다는 점에서 큰 차이가 있다. 기존 네트워크 구조에서는 링크 플러딩 공격을 완화하는 것이 어려운데, 이는 공격자가 traceroute를 이용하여 취약한 링크를 사전에 파악하고 링크맵을 구축할 수 있는 원인에 기인한다. 기존에 링크 플러딩 공격을 감지하여 대응하기 위한 여러 연구가 제안되었으나 이들은 모두 목표 링크에 실제 공격이 발생한 직후에 이를 완화하는, 즉 사후 조치를 한다는 한계점이 존재한다. 본 논문에서는 링크 플러딩 공격 시나리오에서 공격자가 링크맵을 구축할 수 있다는 점에 주목하고 이를 사전에 방지하고자 하는 접근법을 제안한다. 소프트웨어 정의 네트워크의 장점을 활용하여 취약한 링크를 사전에 파악하고, 주변에 허니팟을 배치함으로써 중요한 링크를 공격자로부터 은닉하는 시스템인 SDHoneyNet을 보인다.

  • PDF

AOP를 이용하여 진화된 프로그램의 회귀테스트 기법 (Regression Testing of Software Evolution by AOP)

  • 이미진;최은만
    • 정보처리학회논문지D
    • /
    • 제15D권4호
    • /
    • pp.495-504
    • /
    • 2008
  • 관점지향 프로그래밍(AOP)은 횡단 관심사까지 모듈화 하여 소프트웨어의 모듈화를 높여주는 새로운 프로그래밍 패러다임이다. 이를 이용하면 레거시 시스템에 손대지 않고 소프트웨어를 확장시킬 수 있다. 관점지향 프로그래밍 자체 혹은 레거시 시스템만의 테스트 기법은 많이 있으나 확장된 프로그램의 테스트 기법에 대해선 많은 연구가 진행되지 않고 있다. 이 논문에서는 관점지향 프로그래밍을 이용하여 소프트웨어를 확장한 경우의 테스트 기법에 대해 관점지향 프로그래밍의 결함 모델에 맞춰 제시한다. 우선 AOP의 반사기능의 객체를 이용하여 교차점 패턴의 부정확한 강도 및 부정확한 애스펙트의 우선순위를 테스트하고, 증명 규칙을 이용하여 기대하는 사후 조건 성립의 실패에 대해 테스트하였다. 또한 set() 교차점을 이용하여 불변 조건 보존의 실패에 대해 테스트하고, 제어흐름 그래프를 이용하여 제어 의존의 부정확한 변형에 대해 확인하는 방법을 제시한다. 실증을 위하여 셋탑박스의 채널 관리 시스템을 구현하여 제시한 각각의 테스트 기법들에 대해 실험하였다.

다중 기준변수를 사용한 동적 프로그램 슬라이싱 알고리즘의 효율성 비교 (On the Efficiency Comparison of Dynamic Program Slicing Algorithm using Multiple Criteria Variables)

  • 박순형;박만곤
    • 한국정보처리학회논문지
    • /
    • 제6권9호
    • /
    • pp.2384-2392
    • /
    • 1999
  • 프로그램에서 요류가 발생되었을 때 프로그래머는 어떤 시험 사례(test case)를 통해 프로그램을 분석한다. 이처럼 현재 입력 값에 영향을 끼치는 모든 명령문들에 관련된 동적 슬라이싱(dynamic slicing)과 이를 구현하는 기술은 실제 테스팅 및 디버깅 분야에서 매우 중요하다고 할 것이다. 지금까지의 동적 슬라이싱은 슬라이싱 기준 변수가 1개 일 때의 경우에 대해서만 연구해 왔다. 그러나, 실제적인 테스팅 및 디버깅 분야에서는 슬라이싱 기준이 되는 변수가 2개 이상인 경우가 아주 많이 발생한다. 따라서 슬라이싱 기준 변수가 n 개 일 때 동적 프로그램 슬라이스(dynamic program slices)를 만드는 알고리즘을 제시하였고 프로그래밍 언어를 사용하여 동적 프로그램 슬라이싱 알고리즘을 프로그래밍한 뒤 예제 프로그램을 적용시켜 구현하였다. 구현 결과는 실행 이력에 대한 마킹 테이블(marking table)과 동적 종속 그래프로 나타내었다. 그리고, 본 논문에서 제시한 다중기준변수 동적 슬라이스 생성을 위한 마킹 알고리즘이 기존의 단일기준변수 기법보다 실제적인 테스팅 환경에서 더 우수함을 보였다.

  • PDF

내장형 소프트웨어의 비기능적 요구사항 성능 중심 추적 (Performance-based Tracing Non-Functional Requirements of Embedded Software)

  • 최정아;정기원
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권7호
    • /
    • pp.615-623
    • /
    • 2006
  • 비기능적 요구사항은 대상 시스템이 지원해야 할 기능적 요구사항의 속성 또는 품질 요구사항을 말하며, 소프트웨어의 품질 속성으로 반영된다. 이러한 비기능적 요구사항은 특히 성능과 관계된 부분의 설계를 결정하기 위한 중요한 기준으로 사용된다. 따라서 비기능적 요구사항은 소프트웨어 개발 생명주기 전반에 걸쳐 계속적으로 고려되고, 관리되어야 한다. 하지만 비기능적 요구사항의 모호성과 비가시적 특성으로 인해 도출 및 명세뿐만 아니라, 관리에도 어려움이 많다. 이에 본 논문에서는 NFR 그래프를 이용해 비기능적 요구사항에 가시성을 부여하고 비기능적 요구사항을 설계에 반영하여 비기능적 요구사항 관리의 효율성을 높이기 위한 비기능적 요구사항의 추적 기법을 제안한다. 비기능적 요구사항 개발 절차에 따라 지능형 조명 제어 시스템의 성능 요구사항 추적 방법을 사례연구로 수행하였으며, 이를 통해 종합적으로 비기능적 요구사항 관리의 효율을 높이고자 한다.

클라우드네이티브 애플리케이션 구축을 위한 마이크로서비스 식별 방법 (Identification of Microservices to Develop Cloud-Native Applications)

  • 최옥주;김유경
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제17권1호
    • /
    • pp.51-58
    • /
    • 2021
  • 최근 주목받고 있는 마이크로서비스는 독립적으로 개발될 뿐만 아니라 독립적으로 실행 및 배포가 가능하다는 장점 때문에, 클라우드 컴퓨팅 환경에서 보다 유연한 확장과 효율적인 협력을 보장할 수 있다. 이러한 영향으로 최근 마이크로서비스지향 애플리케이션 환경으로의 전환이 급격히 증가하고 있다. 마이크로서비스의 도입을 위해서는 무엇보다 모노리식 아키텍처로 구축된 단일 애플리케이션의 구성요소를 마이크로서비스 단위로 식별하는 문제가 선결되어야 한다. 본 논문에서는 레거시 시스템으로부터 마이크로서비스 식별의 문제를 알고리즘 기반으로 해결하기 이한 접근방법을 제안한다. 코드의 메타정보를 이용하여 그래프를 생성하고 클러스터링 알고리즘을 적용하여 마이크로서비스 후보를 추출한다. 추출된 마이크로서비스 후보에 대해 메트릭을 이용하여, 모듈화 품질을 평가한다. 또한 제안된 식별 방법의 효과를 검증하기 위해 벤치마크를 위해 많이 사용되는 공개 소프트웨어의 코드를 이용하여 후보 서비스를 도출하고, 메트릭을 이용하여 모듈화 수준을 평가한다. 결과적으로 좀더 작은 단위의 마이크로서비스로 식별해 내면서 모듈품질을 향상시키는 결과를 확인할 수 있다.

그래프 기반 바이너리 구조 비교 기법의 강인성 개선 (Improving Resilience in Graph-based Structure Comparison for Binary Objects)

  • 장준혁;조유근;홍지만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.104-106
    • /
    • 2012
  • 소프트웨어 버스마크 (Software Birthmark)는 프로그램 실행 파일로부터 프로그램의 고유한 정보를 추출하는 기법이다. 프로그램의 도용을 판별하기 위해 바이너리로부터 버스마크를 추출하여 원본 프로그램과의 유사도를 측정하거나 악성 코드 탐지에 사용된다. 본 논문에서는 그래프 기반 바이너리 구조 매칭기법을 기반으로 한 버스마크를 제안한다. 제안 기법은 원본 프로그램과 대상 프로그램 사이에서 함수와 함수, 기본 블록과 기본 블록의 매칭 방법을 개선함으로써, 기존 기법에 비해 강인성(Resilience)이 향상된 버스마크를 추출한다.

SoC를 위한 다단 HW/SW 분할 알고리듬 (A Multi-Level HW/SW Partitioning Algorithm for SoCs)

  • 안병규;신봉식;정정화
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2004년도 하계종합학술대회 논문집(2)
    • /
    • pp.553-556
    • /
    • 2004
  • In this paper, we present a new efficient multi-level hardware/software partitioning algorithm for system-on-a-chip design. Originally the multi-level partitioning algorithm are proposed to enhance the performance of previous iterative improvement partitioning algorithm for large scale circuits. But when designing very complex and heterogeneous SoCs, the HW/SW partitioning decision needs to be made prior to refining the system description. In this paper, we present a new method, based on multi-level algorithm, which can cover SoC design. The different variants of algorithm are evaluated by a randomly generated test graph. The experimental results on test graphs show improvement average $9.85\%$ and $8.51\%$ in total communication costs over FM and CLIP respectively.

  • PDF

GIS 구축을 위한 사용자 인터페이스 개발에 관한 연구 (A Study on Developing an User Interface for GIS Construction)

  • 남인길;부기동
    • 한국산업정보학회논문지
    • /
    • 제4권4호
    • /
    • pp.25-31
    • /
    • 1999
  • 본 논문에서는 로컬 서버 자동화를 이용한 GIS의 사용자 인터페이스를 개발하는 방법을 제시하였다. 사용자 인터페이스의 개발에 있어서는 윈도우즈 프로그래밍 기술과 컴포넌트 소프트웨어 제작 기술의 적용이 중요하다. 본 논문에서는 컴포넌트 소프트웨어 제작 기술인 로컬 서버 자동화와 비주얼 베이직 언어를 이용하여 사용자 인터페이스를 개발하는 방법을 제시하고, 사례 연구로서 주제도 중첩, 속성 테이블 조회, 그래프 분석, 분포도 분석 등의 기능을 수행할 수 있는 사용자 인터페이스를 개발하였다.

  • PDF

자료 흐름 분석 기법을 이용한 효율적인 프로그램 통합에 관한 연구 (A Study on the Efficient Program Integration using Data Flow Analysis Method)

  • 박순형
    • 한국IT서비스학회:학술대회논문집
    • /
    • 한국IT서비스학회 2008년도 추계학술대회
    • /
    • pp.337-340
    • /
    • 2008
  • To take the re-use of software, we need to study the efficient integration method of source programs. When the source programs are merged, it is required the steps of verification for any non-interference on non-identical parts of them. The traditional techniques of the program integration verify non-interference of source programs through the simple comparison of statements of source programs. We propose the efficient integration method using data flow analysis in the programs. A study comparing test results from the traditional method and the proposed method has found that the proposed method is more efficient than the traditional method.

  • PDF