• 제목/요약/키워드: pointer analysis

검색결과 46건 처리시간 0.031초

함수 요약을 이용한 모듈단위 포인터분석 (A Modular Pointer Analysis using Function Summaries)

  • 박상운;강현구;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제35권10호
    • /
    • pp.636-652
    • /
    • 2008
  • 본 논문에서는 업데이트 기록에 기반한 모듈단위 포인터 분석 알고리즘을 제안한다. 여기서 모듈이란 상호 재귀적인 함수들의 집합을 의미하며, 모듈단위 분석이란 한 모듈을 분석 시에 다른 모듈의 소스코드가 필요하지 않는 분석을 의미한다. 일반적으로 이러한 형태의 분석은 분석 대상 모듈의 호출 문맥을 알 수 없는 상태에서 분석을 수행하여야 하기 때문에, 프로그램의 흐름 또는 호출 문맥에 관련하여 분석의 정확도를 잃을 수 있다. 본 논문에서는 업데이트 기록이라 이름지어진 모듈단위 분석 공간을 고안하여, 프로그램 문맥과 흐름에 민감한 정확도를 가지는 모듈단위 포인터 분석 방법을 제안한다. 업데이트 기록은 함수의 호출 문맥에 독립적으로 메모리 상태를 요약할 수 있을 뿐만 아니라, 메모리 반응이 일어난 순서에 관한 정보를 유지할 수 있다. 업데이트 기록의 이러한 특성은 모듈단위 분석을 정형화하는데 효과적으로 사용되었을 뿐만 아니라, 분석의 정확도를 높이기 위해 죽은 메모리 반응 또는 관련된 별칭 문맥을 구분하는 데에도 효과적으로 사용될 수 있었다.

포인터 기법을 사용한 통신 시스템에 대한 지터 해석 (Jitter Analysis for Communication Systems Employing Pointer Scheme)

  • 장훈;이병기
    • 대한전자공학회논문지
    • /
    • 제27권1호
    • /
    • pp.1-9
    • /
    • 1990
  • This paper investigates the significance and the implication of the pointer scheme, which was recently adapted by CCITT as a standard synchronization method in the broadband network-node interface environment, and discusses the merits of the pointer scheme in comparison with the conventional positive justification method. It also analyzes the jitter performance of the communication system employing the pointer scheme based on the fact that the pointer scheme corresponds to a multiple-bit positive/zero/negative justification.

  • PDF

복합 객체의 효율적인 접근을 위한 포인터 스위즐링 방법의 구현 및 성능 분석 (Implementation and Performance Analysis of Pointer Swizzling Method for Effective Access to Complex Objects)

  • 민준기;강흠근;이성진;정진완
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제5권4호
    • /
    • pp.395-404
    • /
    • 1999
  • 포인터 스위즐링 기법은 포인터 스위즐링과 언스위즐링으로 이루어지며, 포인터 스위즐링은 객체 접근 시 객체 식별자를 해당 객체의 메모리 주소로 교체하는 것을 말하며, 언스위즐링은 객체 교체 또는 객체 저장 시에 스위즐링된 포인터를 원래의 객체 식별자로 환원하는 것을 말한다. 본 연구에서는 시스템 버퍼 구조에 따라 여러 포인터 스위즐링 기법을 분류하여 장단점을 분석하였으며, 이중 버퍼 구조 상에서 적극/소극, 직접/간접 스위즐링, 언스위즐링 모듈을 설계, 구현하였다. 또한 제한된 크기의 객체 버퍼 상에서 각 포인터 스위즐링 모듈의 성능을 평가하였다. 이 성능 평가의 결과로는 사용하지 않는 포인터는 스위즐링하지 않으며 언스위즐링 부담이 적은 소극 간접 스위즐링 기법이 일반적으로 뛰어난 성능을 나타냄을 알 수 있게 되었다.Abstract The pointer swizzling methods consist of pointer swizzling and unswizzling. Pointer swizzling replaces the OID of a object to the memory address of the object at object access time and unswizzling replaces the swizzling pointer of the OID at object replacement time or object save time. In this research, the different techniques for pointer swizzling are classified according to the system buffer structure and analyzed the pros and cons. In addition, eager/lazy, direct/indirect swizzling, unswizzling modules are designed and implemented on a dual buffering structure. Also, we evaluate the performance of pointer swizzling modules on the restricted object buffer size. The results of performance evaluation show that the performance of lazy indirect pointer swizzling technique is generally good because unused pointers are not swizzled, and unswizzling overhead is minimized.

효율적 데이터 의존성 분석을 이용한 바이너리 기반 Null Pointer Dereference 취약점 탐지 도구 (Efficient Null Pointer Dereference Vulnerability Detection by Data Dependency Analysis on Binary)

  • 김문회;오희국
    • 정보보호학회논문지
    • /
    • 제33권2호
    • /
    • pp.253-266
    • /
    • 2023
  • 널 포인터 역참조 (Null Pointer Dereference) 취약점은 정상적인 메모리 주소를 저장한 포인터가 아닌 널 포인터를 참조할 때 발생하는 취약점이다. 그러므로, 서비스거부공격 (Denial-of-service)와 같은 공격에 악용되어 큰 피해를 줄 수 있기 때문에 식별하고 제거해야 할 중요한 취약점이다. 기존 연구에서는 기호실행과 같은 정적분석을 통해 취약점을 탐지하는 방법을 많이 제안하였다. 그러나 커널과 같은 복잡도가 높은 대형 프로그램을 검사할 때는 경로폭발 (path explosion)과 제약조건(constraint solver) 때문에 효율성이 제한되며 주어진 시간 내에 탐지하지 못할 수 있다. 또는 대형 프로그램 중 일부 함수들 혹은 라이브러리 함수를 탐지할 때 전체 프로그램의 상태를 알 수 없기 때문에 완전한 분석을 수행하지 못해 정확도가 높지 않은 경우가 있다. 본 논문에서는 소스코드가 없는 대규모 프로그램에서 특정한 일부 기능 검사 할 때 빠르고 정확하게 검사하기 위한 가벼운 취약점 탐지도구를 연구개발 하였다. 변수나 포인터를 기호로 표시하고 프로그램 실행을 에뮬레이션하여, 각 실행경로에서 데이터 의존성(data dependency) 분석과 휴리스틱 방법으로 널 포인터 역참조 취약점을 탐지한다. 기존 bap_toolkit과 실험하여 비교하였을 때 오탐율이 8% 높지만, 존재하는 취약점을 모두 탐지해냈다.

비정상인 모드에서 발생되는 포인터조정지터의 컴퓨터 시뮬레이션에 의한 분석 (Analysis of Pointer Adjustment Jitter Generated in Degraded Mode with Computer Simulation)

  • 최승국
    • 한국정보처리학회논문지
    • /
    • 제2권4호
    • /
    • pp.561-566
    • /
    • 1995
  • 동기식통신망에 장애가 발생하여 각 노드내의 클럭들이 서로 다른 주파수로 동작 되는 비정상적인 모드에서는 클럭간의 위상차가 급격하게 변화한다.야 그러므로 데이 터가 노드를 통하여 전송될 때 노드클럭간의 이러한 위상시간차를 보정하여 주기 위하 여 각 노드에서 포인터조정이 빈번하게 행하여지며 이 과정에서 비교적 높은 주파수의 지터가 발생한다. 포인터조정이 여러번 연속적으로 행하여지면 발생되는 지터는 축적 되어 그 크기가 점점 더 증가한다. 연속적으로 연결된 포인터조정시스템에서 발생되는 지터를 컴퓨터 시뮬레이션을 이용하여 분석하였으며 하드웨어 시뮬레이터에서 측정된 결과와 비교하였다.

  • PDF

Distributed Mobility Management Strategy with Pointer Forwarding Technique

  • Wie, Sunghong;Jang, Jaeshin
    • Journal of information and communication convergence engineering
    • /
    • 제13권4호
    • /
    • pp.248-256
    • /
    • 2015
  • With the dramatic increase in mobile traffic in recent years, some of the limitations of mobility management frameworks have magnified. The current centralized mobility management (CMM) strategy has various problems, such as a suboptimal routing path, low scalability, signaling overhead, and a single point of failure. To overcome these weaknesses in the CMM strategy, the Internet Engineering Task Force has been discussing distributed mobility management (DMM) strategies. The fundamental concept of a DMM strategy is to distribute the mobility anchors closer to the users. While the distribution of mobility anchors results in low-cost traffic delivery, it increases the signaling cost. To reduce this higher signaling cost, we propose a new DMM strategy applying the pointer forwarding technique. The proposed strategy keeps the existing tunnels and extends the traffic path as much as possible. In this paper, we analyze the performance of the pointer forwarding-DMM strategy and discuss its pros and cons.

어셈블리어 코드 기반의 메모리 오류 가능성 검출 (Detection of Potential Memory Access Errors based on Assembly Codes)

  • 김현수;김병만;배현섭;정인상
    • 정보처리학회논문지D
    • /
    • 제18D권1호
    • /
    • pp.35-44
    • /
    • 2011
  • 메모리 사용에 관련한 오류는 해당 프로그램뿐 아니라 시스템의 오작동을 유발할 수 있다. 특히 발생 빈도가 매우 낮은 일부 메모리 오류의 경우 제대로 된 동작 테스트를 할 수 없어, 오류에 대한 파악 및 수정이 힘들다. 이에 본 논문에서는 실행 프로그램을 역어셈블(Dis-Assemble)하여 만들어진 어셈블리어 코드를 구문 분석하여 명령어 전이도를 도출하고 이에 기반을 두어 메모리 사용 오류 가능성을 검출하는 방법을 제안하였다. 몇 가지 프로그램을 검사대상으로 선정하여 Local Memory Return Error, Null Pointer Access Error, Uninitialized Pointer Access Error를 검출하였으며 그 중 오픈 소스 프로젝트(Open Source Project)인 아파치 웹 서버와 PHP 스크립트 해석기에서도 메모리 사용 오류의 가능성이 있는 코드가 검출되었다.

상지장애인을 위한 시선 인터페이스에서 포인터 실행 방법의 오작동 비교 분석을 통한 Eye-Voice 방식의 제안 (A Proposal of Eye-Voice Method based on the Comparative Analysis of Malfunctions on Pointer Click in Gaze Interface for the Upper Limb Disabled)

  • 박주현;박미현;임순범
    • 한국멀티미디어학회논문지
    • /
    • 제23권4호
    • /
    • pp.566-573
    • /
    • 2020
  • Computers are the most common tool when using the Internet and utilizing a mouse to select and execute objects. Eye tracking technology is welcomed as an alternative technology to help control computers for users who cannot use their hands due to their disabilities. However, the pointer execution method of the existing eye tracking technique causes many malfunctions. Therefore, in this paper, we developed a gaze tracking interface that combines voice commands to solve the malfunction problem when the upper limb disabled uses the existing gaze tracking technology to execute computer menus and objects. Usability verification was conducted through comparative experiments regarding the improvements of the malfunction. The upper limb disabled who are hand-impaired use eye tracking technology to move the pointer and utilize the voice commands, such as, "okay" while browsing the computer screen for instant clicks. As a result of the comparative experiments on the reduction of the malfunction of pointer execution with the existing gaze interfaces, we verified that our system, Eye-Voice, reduced the malfunction rate of pointer execution and is effective for the upper limb disabled to use.

자바 적시 컴파일에서의 조건 수행을 이용한 비어 있는 포인터의 조기검사 (Early Null Pointer Check using Predication in Java Just-In-Time Compilation)

  • 이상규;최형규;문수묵
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권7호
    • /
    • pp.683-692
    • /
    • 2005
  • 자바에서는 어떤 객체에 접근하는 작업을 할 때마다 항상 해당 객체에 대한 레퍼런스가 널 (Null)인지 여부를 먼저 검사하도록 규정하고 있다. 자바 언어는 객체 중심 언어이기 때문에 객체 접근이 빈번하며 이러한 널 포인터 검사는 자바 프로그램의 성능을 크게 저하시킬 수 있다. 이러한 성능 저하를 줄이기 위한 방법으로 불필요하게 반복되는 널 포인터 검사를 제거하는 기법이 사용되고 있다. 즉, 적시 (Just-in-Time, JIT) 컴파일러가 사용되는 자바 수행 환경에서 코드 분석을 통해 불필요한 널 포인터 검사 코드를 제거하는 최적화를 한다. 본 논문은 JIT 컴파일러 수행 환경에서 조건 수행(predication)이라는 최근 마이크로프로세서의 특징을 이용하여, 기존의 최적화로는 제거할 수 없는 널 포인터 검사 코드를 추가로 없애는 방법을 제시한다. 일반적으로 널 포인터 검사 코드는 비교와 분기 두 명령어로 이루어져 있는데, 그 중에 비교 명령어를 객체를 사용하기 전에 수행하는 것이 아니라 객체가 정의된 직후에 미리 수행하도록 함으로써 널 포인터 검사를 위해 수행되는 총 비교 명령어 수를 줄이는 것이 이 방법의 주된 내용이다. 실험 결과 기존의 널 포인터 제거로 최적화된 코드에 비해 수행된 비교 명령어의 수는 SPECjvm98에서 평균 3.21$\%$줄었고, 생성된 비교 명령어 수는 1.98$\%$ 줄었다. 이는 인텔 IA-64 아이테니엄(Itanium) 컴퓨터에서 평균 0.32$\%$의 성능 향상을 가져왔다.

Multi-task learning with contextual hierarchical attention for Korean coreference resolution

  • Cheoneum Park
    • ETRI Journal
    • /
    • 제45권1호
    • /
    • pp.93-104
    • /
    • 2023
  • Coreference resolution is a task in discourse analysis that links several headwords used in any document object. We suggest pointer networks-based coreference resolution for Korean using multi-task learning (MTL) with an attention mechanism for a hierarchical structure. As Korean is a head-final language, the head can easily be found. Our model learns the distribution by referring to the same entity position and utilizes a pointer network to conduct coreference resolution depending on the input headword. As the input is a document, the input sequence is very long. Thus, the core idea is to learn the word- and sentence-level distributions in parallel with MTL, while using a shared representation to address the long sequence problem. The suggested technique is used to generate word representations for Korean based on contextual information using pre-trained language models for Korean. In the same experimental conditions, our model performed roughly 1.8% better on CoNLL F1 than previous research without hierarchical structure.