• Title/Summary/Keyword: Java API

Search Result 183, Processing Time 0.024 seconds

A Catalog of Bad Smells in Design-by-Contract Methodologies with Java Modeling Language

  • Viana, Thiago
    • Journal of Computing Science and Engineering
    • /
    • v.7 no.4
    • /
    • pp.251-262
    • /
    • 2013
  • Bad smells are usually related to program source code, arising from bad design and programming practices. Refactoring activities are often motivated by the detection of bad smells. With the increasing adoption of Design-by-Contract (DBC) methodologies in formal software development, evidence of bad design practices can similarly be found in programs that combine actual production code with interface contracts. These contracts can be written in languages, such as the Java Modeling Language (JML), an extension to the Java syntax. This paper presents a catalog of bad smells that appear during DBC practice, considering JML as the language for specifying contracts. These smells are described over JML constructs, although several can appear in other DBC languages. The catalog contains 6 DBC smells. We evaluate the recurrence of DBC smells in two ways: first by describing a small study with graduate student projects, and second by counting occurrences of smells in contracts from the JML models application programming interface (API). This API contains classes with more than 1,600 lines in contracts. Along with the documented smells, suggestions are provided for minimizing the impact or even removing a bad smell. It is believed that initiatives towards the cataloging of bad smells are useful for establishing good design practices in DBC.

The Structure of Java-to-C Compiler for Mobile Computing Environment (모바일 환경을 위한 Java-to-C 컴파일러 구조)

  • 한영선;박인호;황석중;김선욱
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10c
    • /
    • pp.82-84
    • /
    • 2004
  • Java's performance is sometimes not acceptable due to interpretation overhead by the Java Virtual Machine (JVM). In this paper, we present a compiler structure of Java-to-C translator for high performance on resource limited environment like mobile devices. Our compiler framework translates Java into C codes to preserve Java's programming semantics such as inheritance, method overloading, virtual method invocation, and so on. Also our compiler fully supports Connected Limited Device Configuration (CLDC) 1.0 API's. We show that our compiler improves the speedup by up to eleven times more than JVM-only execution in measured benchmarks.

  • PDF

The Designs of a 3-tire client/server JDBC Driver based on Java (Java RMI 기반의 3-tire 클라이언크/서버 JDBC)

  • 박정인;전순미
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10a
    • /
    • pp.202-204
    • /
    • 1998
  • 본 논문에서는 클라이언트측에 별도의 JDBC 드라이버 없이 JSBC API 만 가지고도여러곳에 분산된 DB서버로 접근이 가능하게 하기 위해 RMI(Remote Method Invocation)를 이용하여 JDBC 3-tire모델을 위한 미들웨어를 제안하였다. 즉 JDBC를 이용한 Applret 은 Download된 원래의 서버와 DB 서버가 같은 경우에만 그곳에 접속하여 DB에 엑세스 가능한 현대의 제약을 Java RMI를 이용한 미들웨어를 구축하여 Client--middle ware--DB server라는 시스템으로 해결하는 방법을 제시하였다. 이 미들웨어는 서로 다른 데이터베이스 관리 시스템과의 연결을 위해 기존의 JDBC드라이버를 이용한 구조를 가질 수 있도록 설계하였다.

  • PDF

Implementation of R-language-based REST API and Solution for Security Issues (R 언어 기반의 REST API 구현 및 보안문제의 해결 방안)

  • Kang, DongHoon;Oh, Sejong
    • Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology
    • /
    • v.9 no.1
    • /
    • pp.387-394
    • /
    • 2019
  • Recently, the importance of big data has been increased, and demand for data analysis for the big data is also increased. R language is developed for data analysis, and users are analyzing data by using algorithms of various statistics, machine learning and data mining packages in R language. However, it is difficult to develop an application using R. Early study proposed a method to call R script through another language such as PHP, Java, and so on. However, it is troublesome to write such a development method in addition to R in combination with other languages. In this study, we introduce how to write API using only R language without using another language by using Plumber package. We also propose a solution for security issues related with R API. If we use propose technology for developing web application, we can expect high productivity, easy of use, and easy of maintenance.

Design and Implementation of a Tool for Breaking static analysis of Android API Based on Java Reflection (자바 리플렉션 기반의 안드로이드 API 정적 분석무력화 도구의 설계 및 구현)

  • Park, Heewan;Lee, Joo-Hyuk
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2014.01a
    • /
    • pp.99-102
    • /
    • 2014
  • 리플렉션은 자바 언어의 기능 중 하나로, 자바 프로그램을 실행해서 해당 프로그램을 조사하거나 내부의 동작 구조를 조작할 수 있다. 리플렉션을 사용하게 되면 자바 소스의 난독화 뿐만 아니라 정적 분석 도구의 API 호출 탐지를 방해하게 되어 분석 결과의 정확도를 떨어뜨리게 된다. 만약 이 특성을 악용해 악성 앱 제작자가 특정 API 메소드 호출을 은닉하는 목적으로 사용한다면 정적 분석에 의존하는 기존 분석 도구들이 API 메소드 호출을 탐지하기 어렵기 때문에 큰 위협이 될 수 있다. 본 연구에서는 안드로이드 환경에서 표본 어플리케이션에 직접 설계한 도구를 이용하여 API 메소드에 리플렉션을 적용하고, 원본 소스와 리플렉션 후 디컴파일된 소스를 비교하여 API 메소드 호출이 리플렉션을 통해서 은닉 가능함을 보여준다.

  • PDF

Implementation of RSA Algorithm Based on JavaCard (자바 카드 기반 RSA 알고리즘 구현)

  • Kim, Sung-Jun;Lee, Joo-Young;Lee, Jae-Kwang
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.10b
    • /
    • pp.839-842
    • /
    • 2001
  • 자바카드 API는 스마트 카드와 같은 작은 메모리를 가진 임베디드 장치에서 실행환경을 최적화하기 위해 구성되었다. 자바카드 API의 목적은 한정된 메모리를 가진 스마트카드 기반의 프로그램을 개발한 때 많은 이점을 제공한다. 본 논문에서는 자바 카드 API를 이용하여 공개키 암호 알고리즘 중에서 대표적인 RSA 알고리즘을 구현하는 것에 목적을 둔다.

  • PDF

Telematics standardization based on Java and services (Telematics 표준화 개발과 Java 기반의 글로벌 서비스 기술)

  • Kim, Sung-Yoon;Lee, Eun-Bok;Kim, Hoo-Jong
    • 한국정보통신설비학회:학술대회논문집
    • /
    • 2007.08a
    • /
    • pp.401-403
    • /
    • 2007
  • ⇒ 초록(영문) 입력자 : This document defines JSR298 Telematics API for Java ME. The main purpose of JSR298 is to be able to provide automotive telematics services through use of this specification on embedded devices that are using Java ME platform. The goal is to standardize specification in order to provide automotive telematics services using embedded devices with Java ME as their base platform. This specification defines methods for controlling and obtaining diagnostic information and conditions on various components built in to the vehicle. Therefore, this document will provide specifications required for controlling various equipments built into the vehicles as well as obtaining diagnostic information on these components and vehicle conditions. Automotive components are defined as equipments that are accessible for drivers including airbag, door, window, and brake. This specification is applicable to telematics-specific automotive terminals as well as other various portable devices including cellular phones and PDAs.

  • PDF

Design and Implementation of JavaCard Toolkit for Secure Electronic Commerce Application (안전한 전자상거래를 위한 JavaCard Toolkit의 설계 및 구현)

  • Ha, Young-Guk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.10a
    • /
    • pp.773-776
    • /
    • 2000
  • 최근 인터넷 전자상거래 시스템상에서 전송되는 개인 정보들을 안전하게 관리하기 위한 방법으로서 휴대가 가능한 스마트카드 시스템이 주목을 받고 있다. 현재 다양한 COS 를 탑재한 스마트카드 시스템들이 존재하고 있으나 강력한 보안 기능 및 다중 응용프로그램 환경을 제공하는 MULTOS 기반 시스템과 JVM 기반 JavaCard 시스템으로 서서히 양분되어 가고 있는 추세이다. 본 논문에서는 JavaCard 시스템을 대상으로 하는 Java Toolkit의 설계 및 구현에 대하여 설명한다. 개발된 Toolkit은 PKI 및 암호 처리 기술을 바탕으로 스마트카드, 사용자 시스템 및 서비스 제공자 시스템간의 정보교환을 위한 Java API를 제공함으로써 안전한 인터넷 전자상거래 응용 및 다양한 정보보호 시스템 개발을 위한 기반을 제공한다.

  • PDF