• Title/Summary/Keyword: Software Graph

Search Result 313, Processing Time 0.031 seconds

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

  • 조장우;창병모
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.5
    • /
    • pp.643-650
    • /
    • 2004
  • Control flow graph is used for Performing many Program-analysis techniques, such as data-flow and control-dependence analysis, and software-engineering techniques, such as program slicing and testings. For these analyses to be safe and useful, the CFG should incorporate the exception flows that are induced by exceptions. In previous research to construct control flow graph, normal flows and exception flows are computed at the same time, since these two flows are known to be mutually dependent. By investigating realistic Java programs, we found that the cases when these two flows are mutually dependent rarely happen. So, we can decouple exception flow analysis from normal flow analysis. In this paper we propose an analysis that estimates exception flows. We also propose exception flow graph to represent exception flows. And we show that the control flow graph that accounts for exception flows can be constructed by merging exception flow graph onto normal control flow graph.

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

  • Park, Soon-Hyung;Park, Man-Gon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.9
    • /
    • pp.2323-2333
    • /
    • 1998
  • Software engineers generally analyze the program behavior under the test case that revealed the error, not under any teneric est case. In this paper we discuss the dynamic slice consisting of all statements that actually affect the value of a variable occurrence for a given program input. We propose an efficient algorithm to make dynamic program slices. The eficiency of this algorithm is evaluated on some developed program. results are shown by a marking table of execution history. Dynamic Dependence Graph, and Reduced Dynamic Dependence Graph, Consequently, the efficiency of the proosed algorithm is also presented by the compariso with algorithm that was announced previously.

  • PDF

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

  • Park, Hee-Wan;Lim, Hyun-Il;Choi, Seok-Woo;Han, Tai-Sook
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.11
    • /
    • pp.871-875
    • /
    • 2009
  • A software birthmark is inherent characteristics that can be used to identify a program. In this paper, we propose a new Java birthmark based on control flow graph (CFG) matching. The CFG matching consists of node matching and edge matching. To get similarities of nodes and edges of two CFGs, we apply a sequence alignment algorithm and a shortest path algorithm, respectively. To evaluate the proposed birthmark, we perform experiments on Java programs that implement various algorithms. In the experiments, the proposed birthmark shows not only high credibility and resilience but also fast runtime performance.

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

  • 김영선;김홍진;손용식
    • Journal of the Korea Society of Computer and Information
    • /
    • v.3 no.1
    • /
    • pp.63-80
    • /
    • 1998
  • In object-oriented software development, reuse has been studied for the enhancement of software quality and software developer's productivity. But improper modeling in design phase and uncontrolled change during maintenance activities have a problem to reuse a class. In this paper we analyze a semantic cohesion of classes using C++ Program dependency graph, and slice a class with cohesion, so that this method supports the re-estimate of class quality and the extensibility of class. Therefore this proposed method in this paper increases the easibility of the restructuring in the reusable systems, when the developer selects a requested component for a object-oriented program development.

  • PDF

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

  • Jang, Woo Sung;Jung, Se Jun;Kim, R.Young Chul
    • Annual Conference on Human and Language Technology
    • /
    • 2020.10a
    • /
    • pp.215-219
    • /
    • 2020
  • 현재 한글 언어학 영역에서는 많은 언어 분석 연구가 수행되었다. 또한 소프트웨어공학의 요구공학 영역에서는 명료한 요구사항 정의와 분석이 필요하고, 비정형화된 요구사항 명세서로부터 테스트 케이스 추출이 매우 중요한 이슈이다. 즉, 자연어 기반의 요구사항 명세서로부터 원인-결과 그래프(Cause-Effect Graph)를 통한 의사 결정 테이블(Decision Table) 기반 테스트케이스(Test Case)를 자동 생성하는 방법이 거의 없다. 이런 문제를 해결하기 위해 '한글 언어 의미 분석 기법'을 '요구공학 영역'에 적용하는 방법이 필요하다. 본 논문은 비정형화된 요구사항으로부터 테스트케이스 생성하는 과정의 중간 단계인 요구사항에서 문장 의미 모델(Sentence Semantic Model)을 자동 생성하는 방법을 제안 한다. 이는 요구사항으로부터 생성된 원인-결과 그래프의 정확성을 검증할 수 있다.

  • PDF

Performance Evaluation of Single-Machine-Based Graph Engine using NVMe-oF (NVMe-oF 를 이용한 Single-Machine-Based 그래프 엔진의 성능 측정)

  • Ikhyeon Jo;Myung-Hwan Jang;Sang-Wook Kim
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2024.05a
    • /
    • pp.534-537
    • /
    • 2024
  • Single-machine-based 그래프 엔진은 단일 머신을 이용해 고성능의 그래프 분석을 가능하게 하지만 distributed-system-based 그래프 엔진보다 확장성이 낮다. 본 논문은 single-machine-based 그래프 엔진 중 state-of-the-art 인 RealGraph 에 NVMe-oF 기술을 이용한 고성능 원격 스토리지를 연결해 성능을 확인했다. 실험으로 우리는 고성능 원격 스토리지를 이용한 single-machine-based 그래프 엔진의 확장가능성이 있음을 확인하고 향후 연구에서 고성능 원격 스토리지를 사용할 경우 구조개선이 필요함을 제시한다.

  • PDF

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

  • Han, Keunhee;Kim, Chansoo
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.3 no.3
    • /
    • pp.119-124
    • /
    • 2014
  • Let G = (V, E) be a graph. Maximum Bipartite Subgraph Problem is to convert a graph G into a bipartite graph by removing minimum number of edges. This problem belongs to NP-complete; hence, in this research, we are suggesting a new metaheuristic algorithm which combines Tabu search and 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
    • /
    • v.6 no.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.

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

  • Yoo, SoYeop;Jeong, OkRan
    • The Journal of Society for e-Business Studies
    • /
    • v.24 no.3
    • /
    • pp.87-98
    • /
    • 2019
  • As artificial intelligence is actively studied, it is being applied to various fields such as image, video and natural language processing. The natural language processing, in particular, is being studied to enable computers to understand the languages spoken and spoken by people and is considered one of the most important areas in artificial intelligence technology. In natural language processing, it is a complex, but important to make computers learn to understand a person's common sense and generate results based on the person's common sense. Knowledge graphs, which are linked using the relationship of words, have the advantage of being able to learn common sense easily from computers. However, the existing knowledge graphs are organized only by focusing on specific languages and fields and have limitations that cannot respond to neologisms. In this paper, we propose an intelligent chatbotsystem that collects and analyzed data in real time to build an automatically scalable knowledge graph and utilizes it as the base data. In particular, the fine-tuned BERT-based for relation extraction is to be applied to auto-growing graph to improve performance. And, we have developed a chatbot that can learn human common sense using auto-growing knowledge graph, it verifies the availability and performance of the knowledge graph.