$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

C 코딩 스타일 검증기의 설계 및 구현
Design and Implementation of a C Coding Style Checker 원문보기

韓國컴퓨터情報學會論文誌 = Journal of the Korea Society of Computer and Information, v.13 no.2, 2008년, pp.31 - 40  

황준하 (금오공과대학교 컴퓨터공학부)

초록
AI-Helper 아이콘AI-Helper

지금까지 C 언어에 대한 다양한 코딩 스타일이 제시되어 왔으나 코딩 스타일에 대한 종합적인 검토가 부족하였다. 본 논문에서는 대표적인 C 코딩 스타일에 포함된 코딩 규칙들을 분석하고 그 외에 새로운 코딩 규칙들을 추가함으로써 새로운 C 코딩 스타일을 제안하고 있다 아울러 CStyler라고 명명한 자동화된 C 코딩 스타일 검증기를 설계하였으며 Lex와 Yacc를 활용하여 이를 구현하였다. CStyler는 전처리가 수행된 후의 코드뿐만 아니라 전처리가 수행되기 전의 소스 코드에 대해서도검증이 가능하도록 설계되었으며, 사용자가 새로운 코딩 규칙을 추가할 수 있도록 함으로써 유연성을 개선하였다. 본 논문에서 제시한 코딩 스타일과 코딩 스타일 검증기는 C 언어 교육과 향후 정적 분석 도구를 개발하고 확장하기 위한 연구에 활용될 수 있을 것으로 사료된다.

Abstract AI-Helper 아이콘AI-Helper

Various coding styles for C language have been proposed so far but there has been a lack of synthetic review about them. In this paper, I propose a new C coding style by analyzing coding rules that are included in the representative C coding styles and by adding new coding rules besides them. In add...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 그리고 본 논문에서는 C 코딩 표준에 포함되어 있는 규칙들에 대한 자동화된 검증을 위해 CStyler로 명명한 C 코딩 스타일 검증기를 설계하고 구현 결과를 제시하고 있다. 물론 지금까지 자동화된 C 코딩 스타일 검증기에 대한 개발 사례가 없었던 것은 아니다.
  • 그러나 상용 툴의 경우 세부적인 구현방안이 공개되어 있지 않아 재현 및 확장이 용이하지 못하다는 단점이 있다. 따라서 본 논문에서는 코딩 스타일 검증기를 설계하고 구현하기 위한 방안을 소개함으로써 향후 이에 대한 활용이 가능하도록 하였다.
  • 뿐만 아니라 매크로를 보다 복잡하게 정의한다면 전처리기와 분석기의 결합만으로도 분석이 불가능한 경우가 생길 수 있으리라 예상된다. 따라서 본 연구에서는 단순성과 확장성을 고려하여 전처리와 분석 단계를 분리하되 전처리를 통해 전처리 후의 코드뿐만 아니라 원시 코드를 함께 가지고 있는 것이 보다 바람직한 방법이라 판단하였다.
  • 본 논문에서는 C 언어에 대한 코딩 스타일을 재검토하고 이에 대한 검증 작업을 자동화하기 위한 C 코딩 스타일 검증기의 설계 방안 및 구현 결과를 제시하고 있다. 현재 소프트웨어 개발을 위해 가장 많이 사용되고 있는 프로그래밍 언어로는 C, C+ + , Java를 꼽을 수 있다.
  • 그러나 대부분의 경우에 있어서 구현 방안이 정확히 공개되어 있지 않은 실정이다. 본 논문에서는 Lex와 Yacc를 적절히 활용함으로써 자동화된 C 코딩 스타일 검증기를 효과적으로 구현할 수 있는 방안을 제시하고 있다. CStyler는 코딩 규칙의 특성에 따라 전처리를 수행한 후의 코드뿐만 아니라 전처리를 수행하기 전의 원시 코드에 대해서도 검증이 가능하도록 설계되어 있으며, 사용자가 검증기를 수행하는 도중에 새로운 코딩 규칙을 추가할 수 있도록 설계함으로써 시스템의 유연성을 개선하였다.
  • 또 하나의 향후 과제로는 원시 코드와 전처리 후의 코드에 대한 검증을 위해 제시한 방법을 보완하는 것이다. 논문에서는 Sdefine 상수와 매크로를 중심으로 이에 대한 해결 방안을 제시하고 있다. 그러나 #ifdef을 중심으로 한 조건 컴파일과 관련된 코딩 규칙의 개발 및 검증 기능이 미흡한 편이다.
  • 본 논문에서는 c 프로그램 작성 시 준수해야 할 새로운 c 코딩 스타일을 제안하였으며, 아울러 코딩 규칙들에 대한 자동화된 검증 도구의 설계 및 구현 결과를 제시하였다. 새로운 c 코딩 스타일을 만들기 위해 기존의 Indian Hill C Style과 GNU Coding Standard 그리고 MISRA C Guideline을 참고하였으며 그 외에 필요하다고 판단되는 새로운 규칙들을 추가하였다.
  • 이는 C 프로그래머에게 새로운 언어에 대한 습득을 요구함으로써 부담을가중시키게 된다. 본 연구에서는 CStyler의 코딩 분석을 위한 핵심 내용인 Lex와 Yacc의 구현 사항을 사용자에게 드러냄 E로써 CStyler의 재컴파일 또는 전체적인 프로그램에 대한 이해 없이도 새로운 코딩 규칙을 추가할 수 있도록 하였다.
본문요약 정보가 도움이 되었나요?

저자의 다른 논문 :

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로