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

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

예외 흐름 분석을 정상 흐름 분석과 분리하여 Java프로그램에 대한 제어 흐름 그래프를 생성하는 방법 (A Method to Construct Control Flow Graphs for Java Programs by Decoupling Exception Flow Analysis from Normal Flow Analysis)

  • 조장우;창병모
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권5호
    • /
    • pp.643-650
    • /
    • 2004
  • 제어 흐름 그래프는 자료 흐름 분석과 제어 종속 분석과 같은 프로그램 분석 분야와 프로그램 슬라이싱과 테스팅과 같은 소프트웨어공학 분야에서 필요로 하는 정보이다. 이러한 분석들이 안전하고 유용하기 위해서는 제어 흐름 그래프는 예외 흐름을 포함해야 한다. 기존의 방법은 예외 흐름과 정상 흐름의 상호 의존적인 관계로 인해 두 흐름을 동시에 계산하면서 제어 흐름 그래프를 생성한다. 그러나 실제 Java 프로그램을 조사해 본 결과 두 흐름이 상호 의존적으로 필요한 경우는 거의 발생하지 않음을 알 수 있었다. 그러므로 정상 흐름과 예외 흐름을 분리해서 계산할 수 있음을 알았고, 예외 흐름을 계산하는 예외 흐름 분석을 제안한다. 그리고 예외 흐름을 표현하는 예외 흐름 그래프를 제안한다. 그리고 제어 흐름 그래프는 예외 흐름 그래프와 정상 흐름 그래프를 합병함으로써 생성될 수 있음을 보인다.

소프트웨어 테스팅을 위한 동적 프로그램 슬라이싱 알고리즘의 효율성 비교 (On the Efficiency Comparison of Dynamic Program Slicing Algorithm for Software Testing)

  • 박순형;박만곤
    • 한국정보처리학회논문지
    • /
    • 제5권9호
    • /
    • pp.2323-2333
    • /
    • 1998
  • 어떤 프로그램에서 오류가 발견되었을 때 프로그래머는 어떤 시험 사례(test-case)를 통해 프로그램을 분석한다. 이처럼 현재 입력 값에 영향을 끼치는 모든 명령문들에 관련된 동적 슬라이싱(dynamic slicing)과 이를 구현하는 기술은 실제 테스팅 및 디버깅 분야에서 매우 중요하다고 할 것이다. 본 논문에서는 이러한 동적 프로그램 슬라이스(dynamic program slices)를 산출하는 마킹 알고리즘을 제시하였고 이것을 프로그래밍한 뒤 예제 프로그램을 적용시켜 구현하였다. 구현 결과는 실행 이력에 대한 마킹 테이블(marking table), 동적 종속 그래프(Dynamic Dependence Graph) 그리고, 축소 동적 종속 그래프(Reduced Dynamic Dependence Graph)로 나타내었다. 그리고, 본 논문에서 제시한 효율적인 동적 슬라이스 생성을 위한 마킹 알고리즘과 동적 종속 그래프가 기존의 기법 보다 더 효율성이 높다는 것을 보였다.

  • PDF

제어 흐름 그래프 매칭 기반 자바 버스마크 (A Java Birthmark based on Control Flow Graph Matching)

  • 박희완;임현일;최석우;한태숙
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권11호
    • /
    • pp.871-875
    • /
    • 2009
  • 소프트웨어 버스마크는 프로그램을 식별하는데 사용될 수 있는 내재된 특징이다. 본 논문에서는 제어 흐름 그래프 매칭 기반의 새로운 자바 버스마크를 제안한다. 제어 흐름 그래프 매칭은 노드 매칭과 에지 매칭으로 이루어진다. 두 제어 흐름 그래프의 노드 유사도와 에지 유사토를 구하기 위해서 서열 정렬 알고리즘과 최단거리 알고리즘을 각각 사용하였다. 제안된 버스마크를 평가하기 위해서 다양한 알고리즘을 구현한 자바 프로그램을 대상으로 실험을 하였다. 제안된 버스마크는 이 실험에서 높은 신뢰도와 강인도 뿐만 아니라 빠른 실행 성능을 보여주었다.

C++에서 프로그램 의존도 그래프를 이용한 클래스 분해 방법 (Class Slicing Method using Program Dependency Graph in C++)

  • 김영선;김홍진;손용식
    • 한국컴퓨터정보학회논문지
    • /
    • 제3권1호
    • /
    • pp.63-80
    • /
    • 1998
  • 객체 지향 소프트웨어 개발에서 재사용은 소프트웨어 품질 향상과 소프트웨어 개발자의 생산성 향상을 위하여 연구되고 있다. 그러나 설계 단계에서 부적절한 작성과 유지보수시의 잘못된 변화로 인하여 클래스를 재사용 하는데 문제점이 존재한다. 본 논문에서 제안하는 방법은 C++. 프로그램 의존도 그래프를 이용하여 클래스의 의미론적인 결합 도를 분석하고, 결합 도에 따라 클래스를 분해하여 클래스의 품질 재평가와 확장성을 지원하도록 하는 방법이다. 따라서 본 논문에서 제안하는 방안은 개발자가 객체 지향 프로그램을 개발시에 원하는 부품만을 선택하여 재사용 시스템 구축을 용이하게 하였다.

  • PDF

비정형 요구사항으로부터 원인-결과 그래프 자동 발생을 위한 문장 의미 모델(Sentence Semantic Model) 설계 (Design of Sentence Semantic Model for Cause-Effect Graph Automatic Generation from Natural Language Oriented Informal Requirement Specifications)

  • 장우성;정세준;김영철
    • 한국정보과학회 언어공학연구회:학술대회논문집(한글 및 한국어 정보처리)
    • /
    • 한국정보과학회언어공학연구회 2020년도 제32회 한글 및 한국어 정보처리 학술대회
    • /
    • pp.215-219
    • /
    • 2020
  • 현재 한글 언어학 영역에서는 많은 언어 분석 연구가 수행되었다. 또한 소프트웨어공학의 요구공학 영역에서는 명료한 요구사항 정의와 분석이 필요하고, 비정형화된 요구사항 명세서로부터 테스트 케이스 추출이 매우 중요한 이슈이다. 즉, 자연어 기반의 요구사항 명세서로부터 원인-결과 그래프(Cause-Effect Graph)를 통한 의사 결정 테이블(Decision Table) 기반 테스트케이스(Test Case)를 자동 생성하는 방법이 거의 없다. 이런 문제를 해결하기 위해 '한글 언어 의미 분석 기법'을 '요구공학 영역'에 적용하는 방법이 필요하다. 본 논문은 비정형화된 요구사항으로부터 테스트케이스 생성하는 과정의 중간 단계인 요구사항에서 문장 의미 모델(Sentence Semantic Model)을 자동 생성하는 방법을 제안 한다. 이는 요구사항으로부터 생성된 원인-결과 그래프의 정확성을 검증할 수 있다.

  • PDF

Maximum Bipartite Subgraph 문제를 위한 GRASP + Tabu Search 알고리즘 연구 (Study for the Maximum Bipartite Subgraph Problem Using GRASP + Tabu Search)

  • 한근희;김찬수
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제3권3호
    • /
    • pp.119-124
    • /
    • 2014
  • G = (V, E) 를 그래프라 하자. Maximum Bipartite Subgraph 문제는 주어진 그래프 G로부터 최소 개수의 간선을 제거함으로써 G 를 이분그래프로 변환시키는 문제이며 결합 최적화 문제들 중 대표적인 문제들 중의 하나로 알려 져 있다. 본 문제는 NP-complete 계열에 포함되는 문제로서 본 연구에서는 Tabu Search 및 GRASP 등을 조합한 새로운 메타휴리스틱 알고리즘을 제시하고자 한다.

Parsing KEGG XML Files to Find Shared and Duplicate Compounds Contained in Metabolic Pathway Maps: A Graph-Theoretical Perspective

  • Kang, Sung-Hui;Jang, Myung-Ha;Whang, Ji-Young;Park, Hyun-Seok
    • Genomics & Informatics
    • /
    • 제6권3호
    • /
    • pp.147-152
    • /
    • 2008
  • The basic graph layout technique, one of many visualization techniques, deals with the problem of positioning vertices in a way to maximize some measure of desirability in a graph. The technique is becoming critically important for further development of the field of systems biology. However, applying the appropriate automatic graph layout techniques to the genomic scale flow of metabolism requires an understanding of the characteristics and patterns of duplicate and shared vertices, which is crucial for bioinformatics software developers. In this paper, we provide the results of parsing KEGG XML files from a graph-theoretical perspective, for future research in the area of automatic layout techniques in biological pathway domains.

BERT 모델과 지식 그래프를 활용한 지능형 챗봇 (An Intelligent Chatbot Utilizing BERT Model and Knowledge Graph)

  • 유소엽;정옥란
    • 한국전자거래학회지
    • /
    • 제24권3호
    • /
    • pp.87-98
    • /
    • 2019
  • 인공지능이 활발하게 연구되면서 이미지, 영상, 자연어 처리와 같은 다양한 분야에 적용되고 있다. 특히 자연어 처리 분야는 사람이 말하고 쓰는 언어들을 컴퓨터가 이해할 수 있도록 하기 위한 연구들이 진행되고 있고 인공지능 기술에서 매우 중요한 영역 중 하나로 여겨진다. 자연어 처리에서 컴퓨터에게 사람의 상식을 이해할 수 있도록 학습시키고 사람의 상식을 기반으로 결과를 생성하도록 하는 것은 복잡하지만 중요한 기술이다. 단어들의 관계를 이용해 연결한 지식 그래프는 컴퓨터에게 쉽게 상식을 학습시킬 수 있다는 장점이 있다. 하지만 기존에 고안된 지식 그래프들은 특정 언어나 분야에만 집중해 구성되어 있거나 신조어 등에는 대응하지 못하는 한계점을 갖고 있다. 본 논문에서는 실시간으로 데이터를 수집 및 분석하여 자동으로 확장 가능한 지식 그래프를 구축하고, 이를 기반 데이터로 활용하는 챗봇 시스템을 제안하고자 한다. 특히 자동 확장 그래프에 BERT 기반의 관계 추출 모델을 적용시켜 성능을 향상시키고자 한다. 자동 확장 지식 그래프를 이용해 상식이 학습되어 있는 챗봇을 구축하여 지식 그래프의 활용 가능성과 성능을 검증한다.

구조적 특징에 기반한 대사 경로 드로잉 알고리즘 (An Algorithm for Drawing Metabolic Pathways based on Structural Characteristics)

  • 이소희;송은하;이상호;박현석
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권10호
    • /
    • pp.1266-1275
    • /
    • 2004
  • '생물정보학'이란 생물학적 데이타를 처리, 가공하여 정보를 얻어내는 연구 분야로 이 중 대사 체학은 대사 경로 네트워크를 가시화하여 생명 활동을 이해하고자 하는 분야로, 대사 경로 내의 흐름을 한 눈에 알 수 있도록 가시화하여 보여 줄 수 있는 도구가 반드시 필요하다. 따라서 본 논문에서는 새로운 '대사 경로 드로잉 알고리즘'을 제안하였다. 대사 경로 그래프의 구조로는 이분 그래프를 이용하여 가독성을 높였으며, 이 그래프가 척도 없는(scale-free) 네트워크 구조라는 것과 구조적으로 환형, 계층적, 선형 컴포넌트를 가진다는 것을 고려하여 사이즈가 큰 그래프도 적절하게 드로잉 하도록 하였다.