• Title, Summary, Keyword: Abstract Syntax Tree

Search Result 30, Processing Time 0.037 seconds

A Design of the Similarity Evaluation System using Abstract Syntax Tree (AST를 이용한 프로그램 유사도 평가 시스템 설계)

  • 정재은;김영철;김상헌;유재우
    • Proceedings of the Korean Information Science Society Conference
    • /
    • /
    • pp.430-432
    • /
    • 1999
  • 본 논문에서는 AST(Abstract Syntax Tree)를 이용하여 서로 다른 프로그램의 유사도를 측정하는 방법을 제시한다. 지금까지 유사도 평가 방법은 거의 제시되지 않고 프로그램의 비교평가 연구는 찾아볼 수가 없다. 본 시스템은 서로 다른 여러 프로그램을 입력받아 파싱함으로써 AST를 생성하여 생성된 AST를 유사도 측정에 이용한다. 따라서 다른 비교 측정 시스템보다 비용과 속도 면에서 경제적이고 빠르게 유사도를 검출해 낼 수 있으며, 또한 신속히 평가 결과를 학생들에게 피드백 함으로써 큰 학습성과를 기대할 수 있다.

  • PDF

Tree-Pattern-Based Clone Detection with High Precision and Recall

  • Lee, Hyo-Sub;Choi, Myung-Ryul;Doh, Kyung-Goo
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.12 no.5
    • /
    • pp.1932-1950
    • /
    • 2018
  • The paper proposes a code-clone detection method that gives the highest possible precision and recall, without giving much attention to efficiency and scalability. The goal is to automatically create a reliable reference corpus that can be used as a basis for evaluating the precision and recall of clone detection tools. The algorithm takes an abstract-syntax-tree representation of source code and thoroughly examines every possible pair of all duplicate tree patterns in the tree, while avoiding unnecessary and duplicated comparisons wherever possible. The largest possible duplicate patterns are then collected in the set of pattern clusters that are used to identify code clones. The method is implemented and evaluated for a standard set of open-source Java applications. The experimental result shows very high precision and recall. False-negative clones missed by our method are all non-contiguous clones. Finally, the concept of neighbor patterns, which can be used to improve recall by detecting non-contiguous clones and intertwined clones, is proposed.

A Syntax-Directed XML Document Editor using Abstract Syntax Tree (추상구문트리를 이용한 구문지향 XML 문서 편집기)

  • Kim Young-Chul;You Do Kyu
    • Journal of Internet Computing and Services
    • /
    • v.6 no.2
    • /
    • pp.117-126
    • /
    • 2005
  • The current text based XML document systems are editing text and don't perform syntax check. As a result, the validity of an edited XML document can't be decided it is well-formed or valid until it is parsed. This paper describes a design and implementation of the syntax-directed editing system for XML documents. Because this is tree-based system, it is easy to extend XML document. And this system is designed to validate XML documents in real-time, It is expected that this paper contributes XML related application developments.

  • PDF

Aspect Mining Process Design Using Abstract Syntax Tree (추상구문트리를 이용한 어스팩트 마이닝 프로세스 설계)

  • Lee, Seung-Hyung;Song, Young-Jae
    • The Journal of the Korea Contents Association
    • /
    • v.11 no.5
    • /
    • pp.75-83
    • /
    • 2011
  • Aspect-oriented programming is the paradigm which extracts crosscutting concern from a system and solves scattering of a function and confusion of a code through software modularization. Existing aspect developing method has a difficult to extract a target area, so it is not easy to apply aspect mining. In an aspect minning, it is necessary a technique that convert existing program refactoring elements to crosscutting area. In the paper, it is suggested an aspect mining technique for extracting crosscutting concern in a system. Using abstract syntax structure specification, extract functional duplicated relation elements. Through Apriori algorithm, it is possible to create a duplicated syntax tree and automatic creation and optimization of a duplicated source module, target of crosscutting area. As a result of applying module of Berkeley Yacc(berbose.c) to mining process, it is confirmed that the length and volume of program has been decreased of 9.47% compared with original module, and it has been decreased of 4.92% in length and 5.11% in volume compared with CCFinder.

A Program-Plagiarism Checker using Abstract Syntax Tree (구문트리 비고를 통한 프로그램 유형 복제 검사)

  • 김영철;김성근;염세훈;최종명;유재우
    • Journal of KIISE:Software and Applications
    • /
    • v.30 no.7_8
    • /
    • pp.792-802
    • /
    • 2003
  • Earlier program plagiarism check systems are performed by using simple text, attribute or token string base on match techniques. They have difficulties in checking program styles which have nothing to do with program syntax such as indentation, spacing and comments. This paper introduces a plagiarism check model which compares syntax-trees for the given programs. By using syntax-trees, this system can overcome the weekness of filtering program styles and have advantage of comparing the structure of programs by syntax and semantic analysis. Our study introduces syntactic tree creation, unparsing and similarity check algorithms about C/C++ program plagiarism checking for internet cyber education and estimate plagiarism pattern.

A Program Similarity Evaluation using Keyword Extraction on Abstract Syntax Tree (구문트리에서 키워드 추출을 이용한 프로그램 유사도 평가)

  • Kim Young-Chul;Choi Jaeyoung
    • The KIPS Transactions:PartA
    • /
    • v.12A no.2
    • /
    • pp.109-116
    • /
    • 2005
  • In this paper, we introduce the method that a user analyses the similarity of the two programs by using keyword from the syntactic tree, created after the syntax analysis, and its implementation. The main advantage of the method is the performance improvement through using only keyword of syntax tree. In the paper, we propose the similarity evaluation model and how we extract keyword from syntax tree. In addition, we also show the improvement in the performance in analysis and in the system's structure. We expect that our system will be utilized in the similarity evaluation in text and XML documents.

Analyzing Developer's Share of Code Based on Abstract Syntax Tree (추상 구문 트리 기반의 개발자별 소스 코드 지분 분석)

  • Lee, Yong-hyeon;Kim, KiSub;Jung, Woosung
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • /
    • pp.23-24
    • /
    • 2015
  • 소프트웨어 프로젝트에서 발생하는 버그의 수가 증가함에 따라 이를 수정할 적합한 개발자를 효과적으로 찾기 위한 연구들이 진행되었다. 하지만, 대부분의 연구들이 텍스트 기반의 라인 변경을 통해 얻은 정보만을 활용하기 때문에 정확도가 떨어지며, 파일, 클래스, 함수와 같은 다양한 계층 단위에 대한 처리가 어렵다. 본 논문은 개발자의 코드 변경 정보를 추적함으로써 기여도를 보다 정확하게 계산하고, 다양한 코드 수준에서의 분석을 효과적으로 지원하는 AST기반의 지분 계산 접근법을 제안한다.

  • PDF

A Design and Implementation of the VoiceXML Multiple-View Editor Using MVC Framework (MVC 프레임 워크를 사용한 VoiceXML 다중 뷰 편집기의 설계 및 구현)

  • 유재우;염세훈
    • The Journal of the Acoustical Society of Korea
    • /
    • v.23 no.5
    • /
    • pp.390-399
    • /
    • 2004
  • In this paper, we design and implement a multiple-view VoiceXML editor to improve editing efficiency of the VoiceXML. The VoiceXML multiple-view Editor uses a MVC framework to support multiple views and paradigm. Our multiple-view editor consists of Model. View and Controller using MVC framework. A model, core data structure. is constructed of abstract syntax tree and abstract grammar. A view. user interface. is formalized in unparsing rules and unparser. A controller. to control model and view. is made of command interpreter and tree handler. The VoiceXML multiple-view editor overcomes a drawbacks of existing XML editors by showing document structure and context concurrently. as well as document flows. Our VoiceXML multiple-view editor. which MVC framework has been applied, provides various editing views concurrently to users. Thereby. it supports efficient and convenient editing environments for voice-web documents to users and it guarantees transparency of editors. as various views have a same consistent model.

A Study of Incremental and Multiple Entry Support Parser for Multi View Editing Environment (다중 뷰 편집환경을 위한 점진적 다중진입 지원 파서에 대한 연구)

  • Yeom, Saehun;Bang, Hyeja
    • Journal of Korea Society of Digital Industry and Information Management
    • /
    • v.14 no.3
    • /
    • pp.21-28
    • /
    • 2018
  • As computer performance and needs of user convenience increase, computer user interface are also changing. This changes had great effects on software development environment. In past, text editors like vi or emacs on UNIX OS were the main development environment. These editors are very strong to edit source code, but difficult and not intuitive compared to GUI(Graphical User Interface) based environment and were used by only some experts. Moreover, the trends of software development environment was changed from command line to GUI environment and GUI Editor provides usability and efficiency. As a result, the usage of text based editor had decreased. However, because GUI based editor use a lot of computer resources, computer performance and efficiency are decreasing. The more contents are, the more time to verify and display the contents it takes. In this paper, we provide a new parser that provide multi view editing, incremental parsing and multiple entry of abstract syntax tree.

A Design of Ontology Parser for OWL Web Ontology Language (OWL Web Ontology Language를 위한 Ontology Parser의 설계)

  • Lee, Mi-Kyoung;Park, Shu-Cheon;Sohn, Joo-Chan
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • /
    • pp.573-576
    • /
    • 2004
  • 시맨틱 웹에 이용되는 웹 온톨로지 언어들로는 RDF/RDFS, DAML+OIL, OWL 등이 있으며, 현재 W3C에서는 OWL을 웹 온톨로지 표준 언어로 삼고 있다. 기존의 웹 온톨로지 문서들의 파서는 대부분 RDF를 기반으로 한 Triple 모델을 기반으로 하여 파싱한다. 그러나 OWL의 경우는 triple 형태로 변환시키면 OWL Full의 형태를 가지게 되고 OWL 온톨로지의 표현력과 데이터의 손실을 가져오게 된다. 따라서 OWL 문서의 파싱을 위하여 우리는 OWL Abstract Syntax를 이용하여 Tree 모델을 가지는 OWL 파서를 만들고자 한다. 본 논문에서는 시맨틱 웹에서 사용되는 웹 온톨로지들을 파싱하여 온톨로지 객체 모델을 생성해주는 기능을 가지는 온톨로지 파서를 설계, 구현하였다. 논문에서 설계한 온톨로지 파서는 RDF, DAML+OIL, OWL 웹 온톨로지 문서들을 파싱하여 온톨로지 객체 모델을 생성할 때, RDF 온톨로지의 경우는 Triple 모델 형태로 파싱을 하지만, OWL 온톨로지의 경우에는 OWL Abstract Syntax Tree 모델 형태로 파싱한 후, OOM으로 변환시켜준다. 이를 위해 웹 온톨로지 언어의 종류 구분과 OWL 온톨로지의 경우, OWL Full, OWL DL, OWL Lite의 서브 타입을 구별하는 기능도 추가하였다.

  • PDF