• 제목/요약/키워드: programming language design

검색결과 344건 처리시간 0.028초

C 시큐어 코딩 규칙 분류를 통한 실행 안전성을 보장하는 한글 언어 설계 (A Design of a Korean Programming Language Ensuring Run-Time Safety through Categorizing C Secure Coding Rules)

  • 김연어;송지원;우균
    • 정보과학회 논문지
    • /
    • 제42권4호
    • /
    • pp.487-495
    • /
    • 2015
  • 요즘에는 대부분 정보가 전산화되어 다루어지고 있기 때문에 전산화된 정보의 안전성을 높이는 것이 매우 중요하다. 하지만 코딩 실수로 발생하는 많은 메소드 오용 때문에 소프트웨어 자체가 취약해짐에 따라 정보의 안전성이 위협받을 수 있다. 해킹 공격을 원천적으로 차단하여 정보의 안전성을 높이기 위해 시큐어 코딩 가이드가 제안된 바 있지만, C와 Java 프로그래머를 위주로 작성되었기 때문에 다른 프로그래밍 언어에서는 적용하기 어렵다. 이 논문에서는 다른 프로그래밍 언어에도 사용할 수 있도록 시큐어 코딩 가이드의 규칙을 재분류한다. 구체적으로 행정자치부에서 발표한 C 시큐어 코딩 가이드를 이용하였다. 그리고 이 분류에 따라 구별된 규칙을 새로 제안한 한글 프로그래밍 언어인 새싹에 적용해 보았다. 그 결과 새싹에서는 C 언어 대비 점검해야 할 취약점 규칙의 수가 52% 줄어든 것으로 나타났다.

초등학교 정보교육을 위한 EPL 적용 분석 (Application and Analysis of Educational Programming Language for Elementary Informatics Education)

  • 이미현;구덕회
    • 정보교육학회논문지
    • /
    • 제15권1호
    • /
    • pp.85-91
    • /
    • 2011
  • 정보교육에서 프로그래밍 교육은 프로그래밍 언어를 이용하여 알고리즘 고안과 문제 해결을 수행하는데 그 의미가 있다. 그러나 프로그래밍 언어 도구 자체를 익히고 사용하는 것이 선행되어야 하기에 초등학생들은 프로그래밍 언어 도구를 익히는 과정을 거치면서 그 흥미가 점점 감소되고 있는 실정이다. 이에 본 연구에서는 초등학생들이 프로그래밍을 Drag & Drop 방식으로 쉽게 사용할 수 있고 결과물을 프로그래밍 중에 즉시 확인할 수 있는 교육용 프로그래밍 언어(EPL)를 이용하여 12주 동안 매주 1시간씩 교육하기 위한 학습 내용을 구성하고 이를 적용하였다. 적용 결과, EPL은 초등학생들의 프로그래밍 교육에 대한 흥미를 유발 및 유지할 수 있고, 창의력과 논리력 신장에도 긍정적인 영향을 줄 수 있는 것으로 나타났다.

  • PDF

교육용 한글 C 프로그래밍 언어 사전처리기의 설계 및 구현 (Design and Implementation of Preprocessor for Educational Hangul C Programming Language)

  • 김창희;이상락;홍성수;심재홍
    • 한국통신학회논문지
    • /
    • 제18권2호
    • /
    • pp.239-249
    • /
    • 1993
  • 본 논문은 터보 C언어에 대응하는 한글 C언어를 설계, 구현하였다. 한글C언어 명령어는 초 중 고등학생들이 이해하기 쉬운 용어로 선정하였으며 도스(DOS) 명령어와 오류 메시지도 한글화하였다.

  • PDF

프로그래밍 언어 교육용 콘텐츠의 평가준거 개발 (Development of an Evaluation Criterion for Educational Programming Language Contents)

  • 김용대;이종연
    • 정보처리학회논문지A
    • /
    • 제17A권6호
    • /
    • pp.289-296
    • /
    • 2010
  • 프로그램 언어 교육용 콘텐츠 평가 관련 기존 연구는 주로 일반적인 교육용 콘텐츠 평가를 중심으로 이루어져 왔다. 하지만 문제해결능력 관점에서 프로그램 언어 교육용 콘텐츠에 대한 평가 연구는 거의 없는 실정이다. 따라서, 본 논문에서는 프로그램 언어 교육용 콘텐츠에 대한 새로운 평가 준거 개발을 제안하며 그 세부 연구내용은 다음과 같다. 첫째, 기존 콘텐츠 평가 관련 연구를 분석하여 프로그램 언어 교육용 콘텐츠를 대한 평가 준거를 설계한다. 둘째, Visual Basic 교육용 프로그램 콘텐츠를 이용하는 교사들을 대상으로 설문 조사를 통해 설계된 평가 준거의 타당성을 검증하고 검증된 타당성을 근거로 실제 타당성을 실험하였다. 끝으로 본 논문의 연구 결과는 프로그램 언어 교육용 콘텐츠에 대한 평가 준거 제안과 분석을 통해 현재 사용 중이거나 향후 개발될 프로그램 언어 교육용 콘텐츠의 개발 및 평가 준거를 체계화하는데 기여할 것이다.

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

  • Viana, Thiago
    • Journal of Computing Science and Engineering
    • /
    • 제7권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.

eFlowC : 네트워크 관리를 위한 패킷 처리 언어 (eFlowC: A Packet Processing Language for Network Management)

  • 고방원;유재우
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권1호
    • /
    • pp.65-76
    • /
    • 2014
  • 본 연구는 패킷 처리를 위한 고급 프로그래밍언어 eFlow를 제안하고 이를 지원하는 개발환경을 구현한다. 또한 개발자들이 가장 익숙하고 배우기 쉬운 C 언어를 기반으로 하여 C 언어의 문법과 의미를 유지하면서, 패킷 처리에 불필요한 기능들을 제거하고 패킷 처리에 필요한 패킷 데이터, 데이터베이스 및 스트링 바이트 정보 검사, 이벤트 처리 등을 수행하기 위한 고급 프로그래밍 언어를 설계하고, 기존의 언어나 컴파일러 기술을 적용하면서 패킷 처리를 위해 필요한 언어의 기능과 컴파일 과정을 설명한다. X11 등과 같은 DPIC 장비에 활용하기 위해 이식성과 확장성을 고려한 가상 기계인 eFVM을 설계하고, 이를 위한 컴파일러와 시뮬레이터 및 디버거와 같은 개발 환경을 갖추어 실제 많이 사용되고 있는 다양한 응용 프로그램을 실험하여 제안한 언어의 효용성을 평가하고 있다. 패킷 처리를 위해 갖추어야 할 고급 언어의 기능과 형식 및 그 의미를 정의한 연구가 거의 없이 이루어진 실험에 의의가 있다.

테스트 시스템을 위한 프로그래밍 언어와 컴파일러 설계 (Design of a Programming Language and a Compiler for Test Systems)

  • 고훈준;유원희
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제8권3호
    • /
    • pp.356-365
    • /
    • 2002
  • 테스트 시스템은 다양한 종류의 반도체 제품을 검사하고 분류한다. 따라서 테스트 시스템은 여러 가지 특수기능의 하드웨어 모듈과 각 제품을 테스트할 수 있는 프로그램이 필요하다. 프로그램은 엔지니어에 의해 수정되고 컴파일되어 실행될 수 있어야 한다. 따라서 테스트 시스템은 쉽고 편리하게 프로그래밍할 수 있는 프로그래밍 언어와 테스트 프로그램을 컴파일하고 실행할 수 있는 컴파일러가 필요하다. 본 논문에서는 기존의 국내 테스트 시스템에서 사용하고 있는 테스트 프로그래밍 언어와 컴파일러의 환경을 서술한다. 그리고 산업현장에서 엔지니어가 좀 더 쉽고 편리하게 사용할 수 있고 향상된 성능을 가지는 프로그래밍 언어와 컴파일러를 설계 구현하였다. 본 논문에서 설계한 프로그래밍 언어와 컴파일러를 사용하여 테스트 시스템에 적용해 본 결과 기존 시스템보다 제품을 검사하는 실행 속도 면에서 성능이 향상되었다.

계열별 프로그래밍 언어의 활용도에 관한 차이분석 -경영계열을 중심으로- (Difference Analysis on Application Level of Programming Language in Major : focused on non-business administration group and business administration group)

  • 박재용
    • 경영과정보연구
    • /
    • 제2권
    • /
    • pp.237-266
    • /
    • 1998
  • The purpose of this study was to analyze the differences of application level the computer programming languages in major. The method of this study is the empirical method based on theoretical one with the previous bibliographical suduies. The sample consists of 268 listed university disclosing over the period of Dec. 1. 1997 to Du. 15. 1997. The samples were 10 university in university of Seoul, Pusan, Masan City, Korea. The data were collected by questionnaire research through interview with each person. The analysis data was carried to 268 samples by using SPSS/PC for Windows Version 7.5 statistical package. Statistical methods such as frequency analysis, chi-square test, ANOVA test, correlation analysis were used to test the research questions. This paper focuses on the design of the hypothesis test show that the 2 type are significantly different in major of university students. Before the test of research questions performed it frequency analysis by using the factor score that bring each items. The research type of 2 guoups, that is, BA Group(business administration group) and NBA Group(non-business administration guoup). To summarize the result of this study is as follows ; (1) Hypothesis 1 : Concerning about computer programming language in major, the significant difference is application the present condition. (2) Hypothesis 2 : Concerning about computer programming language in major, the significant difference is application level. (3) Hypothesis 3 : Concerning about each application software in major, the significant difference is application level. According to the results of this study, it is found that (1) Hypothesis 1 related In application the present condition of computer programming language was accepted its all at 0.05 % significance level. (2) Hypothesis 2 related to application level of computer programming language was accepted its all at 0.05 % significance level. (3) Hypothesis 3 related to application level of each application software was rejected its all. at 0.05 % significance level.

  • PDF

프로그래밍 수업의 플립드러닝 학습모형 설계 및 적용 (Design and Application of an Instructional Model for Flipped learning of Programming Class)

  • 최숙영
    • 컴퓨터교육학회논문지
    • /
    • 제20권4호
    • /
    • pp.27-36
    • /
    • 2017
  • 본 연구는 대학의 프로그래밍 수업을 위해 플립드러닝에 기반한 수업 모형을 설계하고 이를 적용한 내용이다. 프로그래밍 과정은 프로그래밍 언어의 문법에 대한 충분한 이해와 함께 높은 추상적인 사고를 요구하기 때문에 많은 학생들이 학습에 어려움을 갖게 된다. 이러한 프로그래밍 학습의 특징으로 인하여 한정된 수업시간에 프로그래밍 언어의 문법적인 요소들을 강의하고 예제를 따라하는 학습 방법으로는 프로그래밍 수업의 학습 목표를 효과적으로 달성할 수 없다. 이러한 문제점을 극복하고 효과적인 프로그래밍 수업이 이루어질 수 있도록 본 연구에서는 플립드러닝에 기반한 수업 모델을 설계하고 그에 따라 수업을 진행하였다. 특히, 본 연구에서는 프로그래밍 학습에서 발생되는 학습자들의 어려움과 실제 프로그래밍 과정에서 발생되는 오류들을 분석한 후 이를 기반으로 하여 수업 모형을 설계하였다. 이 모델을 실제 수업에 적용한 결과, 학생들은 교실 수업에서 다른 학생들과 많은 소통의 기회를 가졌고 학습의 참여도가 높아진 것에 대해 긍정적으로 생각하며 수업에 대해 대체로 만족하는 것으로 나타났다.

객체지향 기술의 확산에 영향을 주는 요인에 관한 경험적 연구 (An Empirical Study on the Factors Affecting Diffusion of Objeccl-Oriented Technology)

  • 이민화
    • 한국정보시스템학회지:정보시스템연구
    • /
    • 제10권1호
    • /
    • pp.97-126
    • /
    • 2001
  • Object-orientation has been proposed as a promising software process innovation to improve software productivity and quality. It has not been understood clearly, however, what factors influences the diffusion of object-oriented technology in organizations. A research model was formulated and hypotheses were generated based on the literature of information technology implementation and software process innovation. To test the research hypotheses, a questionnaire survey was conducted. The results based on 121 responses from Korean companies revealed that project characteristics, use of external experts, and number of development projects are significantly related to the diffusion of object-oriented analysis and design and object-oriented programming. Innovation champion is positively related to the diffusion of object-oriented analysis and design, whereas it is not related to the diffusion of object-oriented programming language. Only project complexity was significantly related to the diffusion of visual programming language. On the other hand, organizational size was not significantly related to any object-oriented technology in this study.

  • PDF