• 제목/요약/키워드: Java Programs

검색결과 171건 처리시간 0.027초

프로그램에 대한 복잡도 측정인자 분석 (An Analysis of the Complexity Measurement Factor for a Program)

  • 이규범;송정영
    • 인터넷정보학회논문지
    • /
    • 제3권4호
    • /
    • pp.61-69
    • /
    • 2002
  • 객체지향 프로그램에 대한 복잡도 측정에 관한 방법으로서 기존의 객체지향 패러다임 특성이라 할 수 있는 객체, 메시지, 클래스, 캡슐화 및 상속성 등에 관한 연구는 이미 보고된바 있다. 본 연구에서는 측정인자로서 Halstead의 Program Volume, Program Level, Program Impurity, Macabe의 Cyclomatic Number, Handerson-Sellers의 응집도 결핍척도 Sullivan's의 PVG측정 방법 등을 선택하였다. 시뮬레이션으로는 객체지향 프로그램의 대표적인 언어인 JAVA Program을 Design & Coding할 때 도움을 주는 척도에 대해서 JAVA Sample Program을 준비하여 프로그램 복잡도 면에서 측정인자들을 각각 비교·분석하였다.

  • PDF

코드삽입을 이용한 자바프로그램의 힙 사용정보 분석기법 (A Technique to Analyze Heap Usage of Java Programs Using Code Inserting)

  • 주성용;조장우
    • 한국컴퓨터정보학회논문지
    • /
    • 제12권2호
    • /
    • pp.29-36
    • /
    • 2007
  • 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러 인터페이스를 제공한다. 그러나 자바 가상기계 구현명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 따라서 프로파일러 인터페이스를 제공하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러는 이용할 수 없다. 이러한 문제를 해결하기 위해서 코드 삽입 기법을 이용해서 프로파일러 인터페이스를 사용하지 않고 힙 사용정보를 분석하는 기법을 제안한다. 제안한 방법을 검증하기 위해서 코드 삽입기를 구현하였다. 실험은 공개되고 자주 사용되는 자바 응용 프로그램을 대상으로 하였고, 실험결과는 대상 프로그램에서 생성된 객체의 수와 최대 할당된 객체의 수 그리고 객체의 사용형태를 보여준다.

  • PDF

자바스크립트에 특화된 프로그램 종속성 그래프를 이용한 표절 탐지 (Plagiarism Detection Using Dependency Graph Analysis Specialized for JavaScript)

  • 김신형;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권5호
    • /
    • pp.394-402
    • /
    • 2010
  • 자바스크립트는 현재 웹 사이트, 웹 어플리케이션에서 가장 많이 사용되는 스크립트 언어 중 하나이다. 자바스크립트로 작성된 프로그램은 원본 프로그램 형태로 클라이언트에게 전송되므로 무단 복제, 도용에 쉽게 노출된다. 때문에 자바스크립트 프로그램의 도용을 탐지하기 위한 연구가 필요하다. 현재 일반적으로 프로그램 표절 탐지를 위해 사용되는 자동화 도구들의 경우 고수준의 표절 기법에 적절히 대응하지 못한다. 반면에 프로그램 종속성 그래프에 기반을 둔 기존 연구들의 경우 자바스크립트의 동적인 특징을 적절히 반영하지 못한다. 또한 지나친 일반화로 인해 일부 틀린 판정(false positive)을 보이며 대상 프로그램의 크기가 클 경우 탐지 속도에 문제를 보이고 있다. 본 논문에서는 자바스크립트에 특화된 프로그램 종속성 그래프(이하 JS PDG)와 이를 사용한 도용 탐지 기법을 제안하여 이러한 문제를 해결하고자 한다. 본 논문에서 제안하는 JS PDG는 세분화된 노드 타입을 가지고 있어 기존 PDG와 비교해 보다 정확한 그래프 간 비교를 할 수 있도록 하며 포함하고 있는 노드 타입에 따라 정의되는 JS PDG의 타입은 탐색 범위를 분할을 가능하게 해 전체 도용 탐지 속도가 개선 될 수 있도록 한다. 실험 결과 기존 PDG에서 나타나는 틀린 판정을 확인할 수 있었으며 PDG간 비교 횟수가 줄어들어 도용 탐지 속도가 개선됨을 확인할 수 있었다.

HDTL을 이용한 병렬 자바 프로그램의 모니터 링과 검사 (Monitoring and Checking Concurrent Java Programs with HDTL)

  • 조승모;김형호;차성덕;배두환
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권5호
    • /
    • pp.345-354
    • /
    • 2002
  • 정형 명세를 이용하여 구현된 프로그램이 수행 중에 명세를 만족시키는지 모니터링하고 검사하는 기법에 대한 연구들이 기존에 많이 수행되어 왔다. 이들은 주로 요구사항 명세언어로 시제논리 혹은 그것의 확장을 사용하게 된다. 이때 대부분의 연구는 실제 구현된 시스템이 가지는 동적인 변화를 제대로 요구사항 명세에 기술하고, 검사할 수 있는 언어를 제공하지 못하고 있다. 본 연구에서는 동적 시스템의 특성 명세언어로 기존에 제안했던 HDTL을 사용하여 동적인 자바 프로그램의 수행을 모니터링하고 검사하는 프레임웍을 제안한다.

신뢰성 높은 JaVa 프로그램 개발을 위한 예외 모니터링 시스템 (An Exception Monitoring System for Developing Reliable Java Programs)

  • 오희정;창병모
    • 정보처리학회논문지A
    • /
    • 제12A권6호
    • /
    • pp.471-476
    • /
    • 2005
  • 자바 언어는 신뢰성 있는 프로그램의 개발을 위해 예외를 처리할 수 있는 명시적인 예외 처리 메커니즘을 제공한다. 따라서 신뢰성 있는 프로그램 개발을 위해서는 실행 시간에 발생 가능한 예외에 대한 적절한 처리가 매우 중요하다 본 논문에서는 신뢰성 있는 프로그램 개발을 위한 동적 예외 모니터링 시스템을 개발하였다. 이 시스템은 프로그래머가 효과적으로 실제 발생된 예외의 처리, 전파과정을 모니터링 할 수 있으며 이러한 기능을 이용하여 좀더 적절한 예외 처리가 가능하도록 하며 결과적으로 개발된 프로그램의 신뢰성을 항상 시킬 수 있다. 본 시스템은 사용자 옵션을 통하여 관심 있는 예외들만을 모니터링 할 수 있으며 또한 시스템의 성능 부하를 줄이기 위해 기존의 코드에 필요한 모니터링 코드만을 삽입하는 방식으로 시스템을 설계하고 구현하였다. 또한 실험을 통해서 그 효과를 보였다.

자바 원시 코드에서 논리적인 오류를 찾는 복합 디버깅 기술의 설계 (Design of Hybrid Debugging Technique for Locating Logical Errors in Java Source Codes)

  • 고훈준
    • 한국콘텐츠학회논문지
    • /
    • 제6권10호
    • /
    • pp.114-125
    • /
    • 2006
  • 이전 논문은 자바 프로그램에서 논리적인 오류를 찾기 위한 기술로 HDT를 제안했었다. HDT는 알고리즈믹 프로그램 디버깅 기술을 이용하여 실행트리에서 오류를 포함하고 있는 메소드를 찾고, 단계적 프로그램 디버깅 기술을 이용하여 오류를 포함하고 있는 메소드에서 오류가 있는 문장을 찾아낸다. 이 기술은 전통적인 디버깅 기술보다 자바 프로그램에서 프로그래머가 디버깅하는 횟수를 줄였다. 그러나 최근에는 프로그램 크기가 증가하고 메소드의 수가 증가하고 있기 때문에 아직까지 HDT는 디버깅하는 횟수가 많다. 이 논문은 HDT에 프로그램 분할 기술을 적용하는 HDTS를 제안한다. 이 방법은 자바 프로그램을 디버깅할 때, HDT보다 프로그래머가 디버깅하는 횟수를 줄여 줄 수 있다. 특히, HDTS는 메소드와 문장의 수가 증가할수록 효율성이 증가한다.

  • PDF

자바 프로그램의 재사용을 위한 자바 빈즈 컴포넌트의 추출 및 명세화 기법 (Extraction and Specification Technique of Java Components for Reuse of Java Programs)

  • 이성은;김영익;류성열
    • 한국정보처리학회논문지
    • /
    • 제7권5호
    • /
    • pp.1388-1400
    • /
    • 2000
  • An important technical issue in recent software development is to make needed software by the composition of components that are assemblable, and configurable, and independently extracted. The main advantage of component-based software development is reducing development time and cost. It is more cost-effective in development time to use components that are already developed than developing from scratch. There are two ways of component-based software development: one is to compose self-developed components, and the other is to by the components developed by third-parties and compose them. In the second case, existing non component programs must can be used for reuse in the component development. In this paper, we approach two methods for increase of reusability of Java program. First, we suggest the technique of extracting the elements suitable for the Beans component model from Java program, and then we show a process and a guideline of converting the extract elements into the Beans component model. Second, we suggest a technique of automatically extracting component information from the Java Beans component, expressing them in XML, its is possible to reuse the efficient component environment.

  • PDF

Java Card을 이용한 마일리지 통합 관리 시스템 구현 (Implementation of Loyalty System using Java Card)

  • 백장미;강병모;홍인식
    • 한국멀티미디어학회논문지
    • /
    • 제5권2호
    • /
    • pp.231-238
    • /
    • 2002
  • 인터넷을 통한 전자상거래가 활성화됨에 따라, 사용자에게 편리성을 제공하기 위한 기술이 등장하고 있으며, 보다 편리한 거래를 위하여, 스마트 카드의 활용이 높아지고 있다. 스마트 카드의 차세대 COS로 Java Card가 등장함으로써, 자바 언어를 이용한 다양한 어플리케이션의 개발이 가능해졌다. 본 논문은 차세대 COS로 주목받고 있는 Java Card를 이용하여 인터넷 상에서의 효율성 있는 마일리지 관리 시스템을 제안하였다. 본 시스템은 Java Card상에 저장되는 개인의 독립적인 프로그램으로 Java Card의 연산기능을 이용하여 서로 다른 마일리지 체계를 가지는 쇼핑몰의 마일리지를 직접 계산하고 적립할 수 있다. 기존의 제공되고 있는 마일리지 시스템과의 비교 분석과 구현된 프로그램의 시뮬레이션을 통하여 제안한 시스템의 실효성을 높이고자 한다.

  • PDF

유니뷰 자바 디버깅 시스템의 설계 및 구현 (Design and Implementation of Uniview Java Debugging System)

  • 옥재호;정연정;이공선;윤기송
    • 정보기술과데이타베이스저널
    • /
    • 제7권2호
    • /
    • pp.33-45
    • /
    • 2000
  • Uniview system is a client-server system that runs on heterogeneous distributed systems and supports the debugging of various kinds of programs. Its client system provides a unified debugging concept and interface on various debuggers of heterogeneous hosts. Its server system provides debugging services and features openness and scalability by interoperating with one or more debugger processes existing on the same host. Based on FSF(Free Software Foundation)'s gdb and Sun Microsystems's dbx. Uniview system supports C/C++ programming language in various UNIX environments as well as Windows environments. The proposed system was designed and implemented to support the JAVA language, which is prevalently used in recent heterogeneous distributed systems and was partly extended to make a clear analysis of JAVA class file structure. Sun Microsystems's Jdb supplied as a JAVA debugger has very limited functions compared to other programming language debugger. In this paper, Uniview as a JAVA debugging system was implemented to provide debugging technologies which are necessary to debug Java applications but missing in current JAVA language as well as to provide its users with various information.

  • PDF

Overview of Real-Time Java Computing

  • Sun, Yu;Zhang, Wei
    • Journal of Computing Science and Engineering
    • /
    • 제7권2호
    • /
    • pp.89-98
    • /
    • 2013
  • This paper presents a complete survey of recent techniques that are applied in the field of real-time Java computing. It focuses on the issues that are especially important for hard real-time applications, which include time predictable garbage collection, worst-case execution time analysis of Java programs, real-time Java threads scheduling and compiler techniques designed for real-time purpose. It also evaluates experimental frameworks that can be used for researching real-time Java. This overview is expected to help researchers understand the state-of-the-art and advance the research in real-time Java computing.