• Title/Summary/Keyword: 프로그램 가독성

Search Result 26, Processing Time 0.036 seconds

Implementation and Experimentation of StyleJigsaw for Programming Beginners (프로그래밍 초보자를 위한 스타일직소의 구현과 실험)

  • Lee, Yun-Jung;Jung, In-Joon;Woo, Gyun
    • The Journal of the Korea Contents Association
    • /
    • v.13 no.2
    • /
    • pp.19-31
    • /
    • 2013
  • Since the high readable source codes help us to understand and modify the program, it is much easy to maintain them. The readability of source code is not only affected by the complexity of algorithms such as control structures but also affected by the coding styles such as naming and indentation. Although various coding standards have been presented for promoting the readability of source codes, it has been usually lost or ignored in a programming course. One of the reasons is that the coding standard is not a hard-and-false rule since it does not contribute to the performance of software. In this paper, we propose a simple automatic system, namely StyleJigsaw, which checks the style of the source codes written by C/C++ or Java. In this system, the coding style score is calculated and visualized as a jigsaw puzzle. To measure the educational effectiveness of StyleJigsaw, several experiments have been conducted on a class students in C++ programming course. According to the experimental results, the coding style score increased about 8.0 points(10.9%) on average using StyleJigsaw. Further, according to a questionnaire survey targeting the students who attended the programming course, about 88.5% of the students responded that StyleJigsaw was of help to learn the coding standards. We expect that the StyleJigsaw can be effectively used to encourage the students to obey the coding standards, resulting in high readable programs.

A Study on Aspect Refactoring using Program Dependency Graph (프로그램 의존성 그래프를 이용한 어스팩트 리팩토링에 관한 연구)

  • Cho, Byoung-Hyoun;Lee, Seung-Hyung;Song, Young-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.04a
    • /
    • pp.989-992
    • /
    • 2010
  • 리팩토링은 시스템의 기능 변경 없이 코드 구조를 재조정하여 가독성을 높이고 유지보수성을 향상하기 위함이다. 기존의 어스팩트 리팩토링은 프로그램의 특정 부분을 어스팩트로 정의하여 리팩토링하거나 구현된 어스팩트 명세를 재구성하는 방식으로, 객체지향 프로그램에 적용하는데 어려움이 있다. 본 논문은 객체지향 리팩토링에 어스팩트 개념을 적용하기 위한 구체화된 접근방법을 제시하는 것이 목적이며 이를 위해 프로그램 의존성 그래프를 이용한다. 리팩토링의 주요 어스팩트인 중복 코드는 프로그램 의존 그래프에서 노드 사이의 순서관계를 비교하여, 리팩토링을 위한 어스팩트 후보로 변환하며 이를 근거로 재조합 함으로써 캡슐화된 객체 내부의 리팩토링 요소를 편리하게 처리할 수 있다.

Coding Style Score Visualization Using Facial Expression (얼굴 표정을 이용한 코딩 스타일 점수 시각화)

  • Ji, Jeong-Hoon;Lee, Yun-Jung;Woo, Gyun
    • Journal of KIISE:Software and Applications
    • /
    • v.37 no.7
    • /
    • pp.578-583
    • /
    • 2010
  • This paper presents an automated visualization system, called StyleVisualizer, which checks the coding style of source codes and visualizes the coding style score using facial expression. Our system represents some kinds of facial expressions according to the evaluated score of the code style: A smile face means that the source code follows coding standards correctly. To measure the effectiveness of the StyleVisualizer, some experiments have been conducted on two class students in an applied computer course. In the experiments, we have compared the error ratio for obeying the coding standards when the StyleVisualizer was used or not. According to the experimental results, the error ratio with the StyleVisualizer was reduced above 30% than that without it. We expect that our system can encourage the students to obey the coding standards by providing the feedback of the visualized faces corresponding to their programs, resulting in high readable programs.

Visualization of Verification Condition by GML file (GML파일을 이용한 검증조건의 시각화)

  • Hu, Hye-Lim;Kim, Je-Min;Park, Joon-Seok;Yoo, Weon-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.17 no.7
    • /
    • pp.23-32
    • /
    • 2012
  • There is a method which identifies validity of program by transforming program to verification condition to verify program. If program is verified by generating verification condition, verification condition must have enough and accurate information for verifying program. However, verification condition is consisting of logical formulas, so the user cannot easily identify the verification condition. In this paper, we implemented program that visualize the poorly readable verification conditions. By the program, the users can easily identify information, such as the relationship between logical formulas that represent verification condition.

A Verification of Array Overflow in Java Bytecode using SMT-Solver (SMT-Solver 를 사용한 자바바이트코드의 배열 오버플로우 검증)

  • Lee, Sang-Hyup;Kim, Je-Min;Park, Joon-Seok;Yoo, Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2011.04a
    • /
    • pp.261-264
    • /
    • 2011
  • 자바프로그램 검증은 안전하고 정확한 프로그램을 만들기 위한 필수적인 조건이지만 자바언어로 작성된 프로그램은 바이트코드로 작성되어 있는 클래스 파일로 배포되기 때문에 바이트코드에 대한 검증이 필요하다. 하지만 자바 바이트코드는 가독성이 떨어져 중간언어로 변환을 하고 그 중간코드에서 검증에 필요한 조건들을 작성 해야 한다. 이 논문에서는 새로 정의된 중간언어인 BIRS을 통해 컴파일시 검증이 되지 않는 배열 오버플로우에 대한 정적검증을 설명하고 검증 절차에 필요한 명제의 정의와 검증 시 사용되는 SMT-Solver 인 Z3 의 사용법에 대하여 서술하였다.

Style Jigsaw for Teaching the Coding Style to Novice Programmers (프로그래밍 초보자의 코딩 스타일을 교육하기 위한 스타일 직소)

  • Jung, In-joon;Lee, Yun-jung;Woo, Gyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.1414-1417
    • /
    • 2012
  • 현대의 프로그램들은 과거의 프로그램들에 비해 복잡성이 커졌다. 그러한 변화에 따라 협력 프로젝트가 과거에 비해 일반화 되었고, 프로그램의 디버깅이 어려워졌다. 현대의 프로그래머들에게는 원활한 협력 프로젝트의 진행과 쉬운 디버깅을 위해 코딩 스타일 준수의 중요성이 부각되고 있다. 프로그래머가 소스 코드를 작성할 때 코딩 스타일의 준수 여부는 가독성에 큰 영향을 미친다. 하지만 프로그래머가 코딩 스타일을 준수하지 않는다고 해도 눈에 보이는 에러가 발생하지 않는다. 그렇기 때문에 코딩 스타일은 초심자 시절의 교육이 중요하다. 이 논문에서는 효과적으로 코딩 스타일을 교육하기 위한 스타일 직소 프로그램을 구현하였다. 스타일 직소 프로그램은 코딩 스타일의 준수 정도 직소 퍼즐 형태로 보여주고, 코딩 스타일이 준수되지 않은 부분을 표시하여 줌으로써 보다 효과적으로 코딩 스타일 교육이 가능하게 한다. 본 논문에서 구현된 스타일 직소 효과를 확인하기 위해 부산대학교 컴퓨터공학과 학부 학생들을 대상으로 스타일 직소를 사용하여 코딩 스타일 교육을 실시하였다. Java 프로그래밍 교과 실습 수업에 스타일 직소 프로그램을 적용시켜 본 결과 64%의 학생이 스타일 직소가 코딩 스타일 향상에 도움이 되었다고 답하였고, 52%의 학생이 본 프로그램의 접근법이 흥미로웠다고 답하였다.

The Development and Evaluation of Educational Hangul Programming Language 'HanScript' (교육용 한글 프로그래밍 언어 'HanScript'의 적용)

  • Jeong, Young-Sik
    • The Journal of Korean Association of Computer Education
    • /
    • v.7 no.3
    • /
    • pp.15-22
    • /
    • 2004
  • This study developed HanScript, which is an educational Hangul programming language, in order to make programs easily and conveniently and applied it to the school fields. To evaluate HanScript, additionally, the researcher divided the properties of educational programming languages into easiness to read, easiness to write and easiness to debug and, based on them, compared HanScript with Visual Basic. According to the result, HanScript was expressed in Korean language style, so was easier to read and debug than Visual Basic. But it was not different from Visual Basic in debugging. Due to fewer libraries compared to Visual Basic, however, it was difficult to implement complex functions using HanScript. In addition, HanScript did not include an editor to edit source codes. Thus, if HanScript is equipped with rich libraries, detailed debugging information and an editor for source code edition, it will be a useful educational programming language.

  • PDF

Implementation of an Obfuscation Tool for Visual C++ Source Code (Visual C++ 소스코드를 위한 Obfuscation 도구 구현)

  • Cho, Byoung-Min;Chang, Hye-Young;Noh, Jin-Uk;Oh, Hyun-Soo;Jung, Min-Gyu;Lee, Seung-Won;Park, Yong-Soo;Woo, Je-Hak;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10c
    • /
    • pp.521-525
    • /
    • 2006
  • 최근 소프트웨어의 주요 알고리즘 및 자료구조 등의 지적재산권을 역공학 분석과 같이 악의적인 공격들로부터 보호하기 위한 연구가 이루어지고 있다. 본 논문에서는 산업 현장에서 많이 사용되는 Visual C++ 또는 MFC로 작성된 프로그램의 소스 코드를 역공학 공격으로부터 보호하기 위한 Obfuscation 도구를 구현하고 그 성능을 평가한다. 구현된 도구는 3가지 Obfuscation 알고리즘을 적용하여 소스 코드를 생성하며 생성된 소스 코드들은 가독성이 떨어지고 역공학 분석이 어렵도록 변환되지만, 프로그램의 본래 기능은 그대로 유지하며 성능상의 변화가 크지 않음을 실험을 통해 확인할 수 있었다.

  • PDF

Automatic generation of higher level design diagrams (상위 수준 설계 도면의 자동 생성)

  • Lee, Eun-Choul;Kim, Kyo-Sun
    • Journal of the Institute of Electronics Engineers of Korea SD
    • /
    • v.42 no.11
    • /
    • pp.23-32
    • /
    • 2005
  • The automatic generation of circuit diagrams has been practically used in the HDL based design for decades. Nevertheless, the diagrams became too complicated for the designers to identify the signal flows in the RTL and system level designs. In this paper, we propose four techniques to enhance the roadability of the complicated diagrams. They include i) the transformation of repetitive instances and terminals into vector forms, ii) an improved loop breaking algorithm, iii) a flat tap which simplifies the two level bus ripping structure that is required for the connection of a bundle net to multiple buses, and iv) the identification of block strings, and alignment of the corresponding blocks. Towards validating the proposed techniques, the diagrams of an industrial strength design m generated. The complexity of the diagrams has been reduced by up to $90\%$ in terms of the number of wires, the aggregate wire length, and the area.

Improving Subtitle Design of Mobile Broadcast (휴대방송에서 나타난 방송자막 디자인 개선 방향)

  • Cha, Hyun-Hee;Yoon, Seung-Keum;Lee, Kwang-Jik;Choi, Seong-Jin;Lee, Seon-Hee;Park, Goo-Man
    • The Journal of The Korea Institute of Intelligent Transport Systems
    • /
    • v.8 no.5
    • /
    • pp.128-137
    • /
    • 2009
  • This research aimed at providing the direction for future improvement of broadcast subtitle design by identifying the user perception on broadcast subtitles of Terrestrial DMB. First, we contemplated on the existing research about broadcast subtitles. As a result, we found out that broadcast subtitle plays an essential role when watching a program and that the minimization of letters, clear fonts and color arrangement, rearrangement of components were identified as main factors that increase readability. However, the terrestrial DMB user evaluation on image quality, composition, color and brightness was not that positive. In addition, the evaluation on the readability of broadcast subtitle, information transmission, subtitle composition, letter font, number and size of letter was more negative. Developing a subtitle design which considers user convenience and suits terrestrial DMB screens in aspects of broadcast subtitle form and composition, limit of information, clearness and size of the letter is required.

  • PDF