• 제목/요약/키워드: 소프트웨어 소스 코드

검색결과 317건 처리시간 0.033초

디자인 패턴지향 소프트웨어 개발 지원 도구 (Tool for Supporting Design Pattern-Oriented Software Development)

  • 김운용;최영근
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권8호
    • /
    • pp.555-564
    • /
    • 2002
  • 디자인 패턴은 과거에 잘 정의된 설계정보를 활용하기 위한 목적으로 사용되어진다. 이러한 디자인 패턴의 활용은 객체지향 패러다임에서 재사용성과 개발시간의 단축 그리고 소프트웨어 품질의 향상을 가져온다. 그러나 이러한 디자인 패턴의 광범위한 활용에도 불구하고 대부분의 디자인 패턴 정보는 수작업에 의해 활용됨으로써 일관성이 없고 활용능력이 떨어진다. 또한 설계자에 의해 적용된 디자인 패턴정보는 소프트웨어에서 나타나지 않기 때문에 디자인 패턴에 대한 추적성에 대한 문제를 가진다. 이에 본 논문에서는 디자인 패턴지향 소프트웨어 개발 지원 도구를 제시한다. 이 시스템은 디자인 패턴의 관리와 소프트웨어 설계 및 자동화 소스코드 생성기능을 지원한다. 디자인 패턴 관리 기능은 존재하는 디자인 패턴을 저장관리 및 분석과 새로운 디자인 패턴 등록할 수 있는 기능을 담고 있으며, 소프트웨어 설계 기능은 UML 형태의 소프트웨어 설계기능과 디자인 패턴요소의 자동생성기능을 지원한다. 또한 이러한 설계정보를 이용한 소스코드 자동생성기능을 지원하는 소스코드 관리 기능을 가진다. 그 결과 기존의 CASE 도구에서 제시하지 못한 디자인 패턴요소의 추적성을 설계정보에 포함시킴으로서 소프트웨어 분석의 용이성을 제공하고 디자인 패턴 관리와 자동 소스코드 생성기능의 제공을 통해 보다 안정되고 효율적인 시스템을 구축할 수 있다.

소스코드 보안성 검사 도구에 관한 연구 (A Study on Security Checker for Source Code)

  • 방기석;공진산;강인혜
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 추계학술발표대회
    • /
    • pp.1150-1153
    • /
    • 2010
  • 정보시스템의 취약성을 사전에 예방하고 보안을 강화하기 위해 여러 가지 방안이 제시되고 있다. 본 연구에서는 소프트웨어의 소스코드 수준에서의 보안성을 확보하기 위해 소스코드 자체의 보안 위험성을 검사하는 도구를 제안한다. 개발자에 의해 무심코 사용되는 위험 함수들을 검출하고 그 대안을 제시하여 소프트웨어 내부에 잠재되는 보안 위협을 예방하는 도구를 개발하고자 한다.

대용량 소스코드 시각화기법 연구 (Visualization Techniques for Massive Source Code)

  • 서동수
    • 컴퓨터교육학회논문지
    • /
    • 제18권4호
    • /
    • pp.63-70
    • /
    • 2015
  • 프로그램 소스코드는 텍스트를 기반으로 하는 정보이며 동시에 논리 구조를 포함하고 있는 복잡한 구문의 집합체이다. 특히 소스코드의 규모가 수만 라인에 이르는 경우 구조적, 논리적인 복잡함으로 인해 기존의 빅데이터 시각화 기법이 잘 적용되기 힘들다는 문제가 발생한다. 본 논문은 소스코드가 갖는 구조적인 특징을 시각화하는데 있어 필요한 절차를 제안한다. 이를 위해 본 논문은 파싱 과정을 거쳐 생성된 추상구문트리를 대상으로 프로그램의 구조특징을 표현하기 위한 자료형의 정의, 함수간 호출관계를 표현한다. 이들 정보를 바탕으로 제어 정보를 네트워크 형태로 시각화함으로써 모듈의 구조적인 특징을 개괄적으로 살펴볼 수 있는 방법을 제시한다. 본 연구의 결과는 대규모 소프트웨어의 구조적 특징을 이해하거나 변경을 관리하는 효과적인 수단으로 활용할 수 있다.

안전한 소프트웨어 개발을 위한 정적분석 도구 시험코드 개발 (Validation Test Codes Development of Static Analysis Tool for Secure Software)

  • 방지호;하란
    • 한국통신학회논문지
    • /
    • 제38C권5호
    • /
    • pp.420-427
    • /
    • 2013
  • 최근 안전한 소프트웨어 개발을 위해 소프트웨어의 소스코드를 분석하여 보안취약점의 원인이 되는 소프트웨어 보안약점을 식별해 주는 정적분석 도구가 많이 활용되고 있다. 최적의 정적분석 도구를 선택하기 위해서는 도구가 보유한 보안약점 규칙 및 분석기능이 중요한 요소가 된다. 따라서, 본 논문은 정적분석 도구가 보유한 규칙 및 분석 성능을 평가하기 위해 개발한 시험코드를 제시하고자 한다. 시험코드는 SQL 삽입 등 43개 보안약점이 존재하는 소스코드로 정적분석 도구가 보유한 보안약점 규칙과 이를 기반으로 한 도구의 분석기능의 적절성을 평가하기 위해 사용될 수 있다.

IT융합 산업자동화를 위한 오픈소스의 활용

  • 성민영;최철
    • 기계저널
    • /
    • 제53권11호
    • /
    • pp.59-62
    • /
    • 2013
  • 근래 들어 기계-IT 융합의 중요성이 부각되면서 오픈 소스 소프트웨어에 대한 관심이 증가하고 있다. 이 글에서는 전통적 기계 분야 중 하나인 산업자동화 분야에서의 오픈소스 개발 사례를 소개한다. 상용 제품 수준의 사용자 편의성과 성능을 제공하면서도 소스 코드가 공개되어 있으므로 연구자에게는 연구 및 교육을 위한 실제적인 실험환경이 되며, 기업에게는 핵심 소프트웨어 기술을 확보하고 IT 융합적 시도를 신속히 실현하기 위한 기반이 될 수 있다.

  • PDF

오픈 소스 라이선스 양립성 위반 식별 기법 연구 (A Study on the Identification of Open Source License Compatibility Violations)

  • 이동건;서영석
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제7권12호
    • /
    • pp.451-460
    • /
    • 2018
  • 전 세계적으로 각종 산업 분야를 불문하고 소프트웨어 개발 시 오픈 소스 소프트웨어가 다양하게 활용되고 있다. 이러한 오픈 소스 소프트웨어는 자유로운 사용에 대한 권리뿐만 아니라 그에 따른 책임을 라이선스(license) 형태로 요구한다. 오픈 소스 소프트웨어 라이선스는 오픈 소스 소프트웨어 개발자와 이용자 간의 조건 범위를 명시한 계약이기 때문에 개발자가 규정한 라이선스를 지켜야 하며 이를 위반할 경우에는 저작권 침해가 발생하고, 이에 대한 책임을 지게 된다. 특히, 새로운 소프트웨어 개발 시 기존에 개발된 오픈 소스 소프트웨어를 활용하는 경우, 각 코드의 라이선스가 양립성(compatibility)문제를 발생시키지 않고 서로 호환되는지 확인해야만 한다. 그러나 이러한 철학에 반하여 양립성 문제 관련 사건들이 다수 발생하고 소송으로 이어지기도 하면서 원활한 오픈 소스 소프트웨어 생태계에 악영향을 미치고 있다. 따라서 본 논문에서는 사용하고자 하는 오픈 소스 소프트웨어들 간에 오픈 소스 규칙을 준수하고 라이선스 양립성 문제가 발생하지 않는지 식별할 수 있는 새로운 기법인 OSLC-Vid를 제안한다. 이렇게 제안된 기법은 실제 오픈 소스 소프트웨어를 활용하여 위반사례 식별 성능을 검증하였다.

파일 스캐닝 오픈소스 성능 비교 분석 및 평가 (Performance Analysis of Open Source File Scanning Tools)

  • 정지인;이재혁;이경률
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2021년도 제64차 하계학술대회논문집 29권2호
    • /
    • pp.213-214
    • /
    • 2021
  • 최근 4차 산업혁명으로 인해 사용자와 단말과의 연결이 증가하면서 악성코드에 의한 침해사고가 증가하였고, 이에 따라, 파일의 상세한 정보인 메타 데이터를 추출하여 악성코드를 탐지하는 파일 스캐닝 도구의 필요성이 요구된다. 본 논문에서는 대표적인 오픈소스 기반의 파일 스캐닝 도구인 Strelka, File Scanning Framework (FSF), Laika BOSS를 대상으로 파일 스캐닝 기술에서 주요한 성능 지표인 스캐닝 속도를 비교함으로써 각 도구의 성능을 평가하였다. 다양한 파일 종류를 선정한 테스트 셋을 기반으로 파일의 개수에 따른 속도를 비교하였으며, Laika BOSS, FSF, Strelka 순으로 성능이 높은 것으로 평가되었다. 결과적으로, 악의적인 파일을 빠르게 탐지하기 위한 파일 스캐닝 도구로 Laika BOSS가 가장 적합한 것으로 평가되었다.

  • PDF

철도차량 Software 지적 재산권 분쟁 해결을 위한 Escrow Account 적용 절차에 대한 연구 (Study on Procedure for Escrow Account to Resolve Controversy of Intellectual Property Right of Software for Rolling Stock)

  • 박준형;조치환;강찬용
    • 한국철도학회:학술대회논문집
    • /
    • 한국철도학회 2008년도 춘계학술대회 논문집
    • /
    • pp.1479-1485
    • /
    • 2008
  • 본 논문은 철도차량분야에 적용할 소프트웨어 Escrow의 상세 적용 절차에 대하여 논의하고자 한다. 철도차량 발주자는 차량의 소프트웨어 포함 장치에 대한 하자보증 기간(warranty period) 이후의 소프트웨어 변경 및 유지보수성 확보를 위하여 소스코드, 핵심적인 기술 원천정보 등을 요구하고 있다. 한편, 소프트웨어 개발 업체는 소스코드 등이 업체의 지적 재산권에 해당하는 사안이기 때문에 시행청의 요구사항을 만족하기 어려운 실정이다. 그러므로, 주 계약자인 철도차량 제작자는 소프트웨어 개발자와 사용자 간의 다른 입장을 조율하기 위하여, 소프트웨어 Escrow 서비스 제도를 도입해야 할 필요성이 있다. 소프트웨어 Escrow는 소프트웨어 Escrow 패키지(소프트웨어 소스코드, 소프트웨어 개발 툴, 빌드 프로세스, 독점권을 가진 정보, 저작권 등)의 거래 시, Escrow 계약 문서에 대한 서명을 통한 Escrow 계약 조건을 상호 합의한 후 신뢰성 있는 제3의 기관에 관련 기술 자료 등을 예치해 두는 양자 간 상생협력을 위한 제도이다. 본 논문에서는 다음의 Escrow 진행 절차에 대한 상세 내역을 연구하고, 향후 프로젝트 적용 방안을 제안하고자 한다.

  • PDF

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

  • 조병민;장혜영;노진욱;오현수;정민규;이승원;박용수;우제학;조성제
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 가을 학술발표논문집 Vol.33 No.2 (C)
    • /
    • pp.521-525
    • /
    • 2006
  • 최근 소프트웨어의 주요 알고리즘 및 자료구조 등의 지적재산권을 역공학 분석과 같이 악의적인 공격들로부터 보호하기 위한 연구가 이루어지고 있다. 본 논문에서는 산업 현장에서 많이 사용되는 Visual C++ 또는 MFC로 작성된 프로그램의 소스 코드를 역공학 공격으로부터 보호하기 위한 Obfuscation 도구를 구현하고 그 성능을 평가한다. 구현된 도구는 3가지 Obfuscation 알고리즘을 적용하여 소스 코드를 생성하며 생성된 소스 코드들은 가독성이 떨어지고 역공학 분석이 어렵도록 변환되지만, 프로그램의 본래 기능은 그대로 유지하며 성능상의 변화가 크지 않음을 실험을 통해 확인할 수 있었다.

  • PDF

SPIN을 이용한 객체 지향형 소프트웨어의 정형검증 방법 비교 및 분석 (A Comparison and Analysis of Formal Verification for Object Oriented Software using SPIN)

  • 방기석;최진영
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2000년도 추계학술발표논문집 (상)
    • /
    • pp.591-594
    • /
    • 2000
  • 객체 지향형 소프트웨어가 개발되고 발전함에 따라 동시성 프로그래밍의 수요가 증가하고 그 기법 역시 다양해지고 있다. 이 결과 소프트웨어의 복잡도가 매우 높아지고, 특히 수행시간 복잡도(run-time complexity)가 매우 높아져서 소프트웨어의 설계와 안정성 검증 분야에 많은 문제가 발생되고 있다. 현재 객체 지향형 소프트웨어의 검증을 위한 연구로 소스 코드를 직접 변환시켜 검증하는 방법과 수행시점에서의 검증을 위해 정형 검증 도구가 직접 객체를 표현할 수 있는 방법을 연구하고 있다. 본 논문에서는 소스코드의 변환을 이용한 검증 도구인 java2spin 과 spin 의 동적인 확장인 dSPIN에 대해 살펴보고 두 도구의 차이점과 장단점을 살펴본다.

  • PDF