• 제목/요약/키워드: 소프트웨어 도구

검색결과 1,555건 처리시간 0.03초

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

호환성 테스트의 안정화 및 시간 단축을 위한 자동화 도구 (한컴 오피스) (Automation tools for stabilizing compatibility testing and reducing time (Hancom office))

  • 김준기;최윤석
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 추계학술발표대회
    • /
    • pp.484-487
    • /
    • 2017
  • 사람이 만드는 소프트웨어는 개발을 시작함과 동시에 오류를 만들어내기 시작한다. 간단히 생각해보면 소프트웨어를 개발하는 사람이 이러한 오류를 잘 알 수 있을 것이라고 생각하지만 개발자 스스로가 자신의 소프트웨어의 오류를 찾아 판단하는 것은 매우 어려운 일이다. 그렇기에 소프트웨어의 테스터가 따로 존재하게 되는데 소프트웨어 테스트의 방법은 크게 화이트박스 테스트와 블랙박스 테스트로 나누어 볼 수 있다. 호환성 도구는 블랙박스 테스트를 기반으로 호환성 테스트를 수행하며 자동화를 결합시켜 사람이 호환성 테스트를 수행할 때의 물리적인 시간의 한계를 극복하는데 목적을 갖고 있다. 목적에 따라 호환성 테스트를 위한 적절한 테스트 샘플을 제작한 후 다양한 테스트 케이스를 통해 호환성 테스트를 수행한 뒤 수행한 결과를 바탕으로 사람이 호환성 테스트를 진행할 때와 비교하여 시간적 효율성과 오차 범위를 줄임으로써 신뢰도를 증가시키고 이를 통해 호환성 도구의 유용함을 밝히고자 한다.

소프트웨어 안전성 개선을 위한 정적분석 시험 절차 모델 (A Static Analysis Test Procedure Model of Improving Software Safeness)

  • 유현상;김형식
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2016년도 춘계학술발표대회
    • /
    • pp.315-317
    • /
    • 2016
  • 소프트웨어의 활용 영역이 점차 넓어지면서 프로그램 코드에 대한 안전성이 훨씬 더 중요해지고 있다. 이에 따라 소프트웨어 품질을 높이기 위한 방법들이 다양하게 제시되어 왔고, 다양한 도구들을 활용한 소프트웨어 품질분석에 대한 관심도 증가하였다. 본 논문에서는 이러한 분석 도구들에 대하여 설명하고 소프트웨어 안전성 분석절차를 제시한다. 분석절차는 시험도구 준비, 시험 수행, 시험결과 검증, 시험결과 산출 단계로 구성되며, 안전성 검사에 효과적임을 확인할 수 있었다.

임베디드 소프트웨어를 위한 코드 기반 모델 체킹 도구의 요구사항 (Requirements for Code-Based Model Checking for Embedded Software)

  • 이태훈;권기현
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 추계학술발표논문집(상)
    • /
    • pp.327-330
    • /
    • 2004
  • 테스팅이 오류의 존재를 증명할 수 있는데 반해서, 정형 검증 기술은 시스템에 오류가 존재하지 않음을 증명할 수 있다. 모델 체킹은 이런 정형 검증 기술 중의 하나이다. 최근에 모델 체킹을 이용하여 코드를 자동으로 검증하려는 연구들이 많다. 하지만 이런 연구는 일반적인 환경에서의 검사만을 할 수 있다. 반면에 임베디드 소프트웨어는 실시간성, 외부 환경, 다중 스레드 등의 다양한 특성이 존재한다. 따라서 임베디드 소프트웨어와 같이 안전한 소프트웨어 시스템을 필요로 하는 환경을 위한 모델 체킹을 수행하기는 힘들다. 본 논문에서는 임베디드 소프트웨어에 대한 모델체킹 도구가 검증할 수 있어야 하는 실시간 시스템의 검증, 외부 환경에 대한 고려, 다중 스레드 시스템의 검증 등을 설명하고, 기존 도구들이 얼마나 만족하고 있는지 조사해본다.

  • PDF

리눅스 기반 임베디드 시스템의 성능 분석을 위한 소프트웨어 계층별 문맥 분석 기법 (Hierarchical Software Context Analysis Technique for Performance Analysis of Linux Based Embedded System)

  • 곽상헌;이호림;이남승;임성수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2009년도 추계학술발표대회
    • /
    • pp.57-58
    • /
    • 2009
  • 임베디드 시스템이 복잡해질수록, 성능 병목을 파악할 수 있는 성능 분석도구가 요구되고 있다. 현존하는 리눅스 기반의 소프트웨어 성능 분석 도구는 전체 시스템 관점에서 소프트웨어 계층에 따라 응용 소프트웨어의 실행 흐름을 파악하기에는 한계가 있다. 본 논문에서는 모든 소프트웨어 계층에서의 실행 흐름을 일관적으로 파악할 수 있는 문맥 분석 기법을 제안한다. 이 도구를 통해서 사용자 영역의 사용자 정의 함수와 라이브러리 함수, 커널 영역에서의 시스템 호출과 커널 이벤트에 대한 호출자와 피호출자에 대한 관계를 모두 파악할 수 있다.

소프트웨어 형상관리 프로세스 평가 도구 설계 (Design of an Evaluation Tool for SCM Process)

  • 이영식;장치원;황선명
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2003년도 추계학술발표대회(하)
    • /
    • pp.723-726
    • /
    • 2003
  • 소프트웨어 프로세스를 개선하여 소프트웨어의 품질 및 생산성을 높이고 조직의 업무를 효과 적으로 달성할 수 있는 체계적인 프로세스를 수립하고 지속적으로 프로세스를 개선함으로서 프로세스의 수행능력을 향상시키기 위한 접근 방법이 많이 시도되고 있다. 본 논문에서는 소프트웨어 프로세스 개선을 위한 형상관리 활동을 관련 표준에 바탕을 두어 정량적인 평가를 할 수 있는 체크리스트를 작성하였고, 체크리스트를 이용한 형상관리 프로세스 평가 도구를 설계하였다.

  • PDF

소프트웨어 개발 품질 향상을 위한 회귀테스트 자동화 도구 설계 (Design of Automated Regression Testing Tool for Improvement of Software Development Quality)

  • 서강복;이우진
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2016년도 춘계학술발표대회
    • /
    • pp.536-538
    • /
    • 2016
  • 최근 소프트웨어가 사회에서 하는 일이 점점 더 증가함에 따라 소프트웨어의 개발비용도 함께 증가하고 있다. 소프트웨어의 개발비용 중 에러를 찾아내는 소프트웨어 테스팅이 상당한 부분을 차지하고 있는데 테스팅에 소요되는 비용 때문에 테스팅을 등한시 하는 경우가 많다. 그럼에도 불구하고 소프트웨어의 기능 추가나 변경이 이루어질 때마다 테스트를 진행하여야 소프트웨어의 에러를 최소화할 수 있다. 하지만 개발이 진행될수록 소요되는 비용이 증가하는 경우가 많아 실제 소프트웨어 개발에선 개발 기한이 다가올수록 회귀 테스트를 기피하게 된다. 본 논문에서는 이러한 문제를 해결하기 위해 소프트웨어의 개발을 진행하면서 형상관리를 통해 소프트웨어의 변경이 있을 때마다 회귀 테스트를 자동으로 수행해주는 도구를 제안한다.

공개 정적 분석도구를 활용한 소프트웨어 보안취약성 개선 (Software Security Vulnerability Improvement Using Open Static Analysis Tool)

  • 장영수;정금택;최진영
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 춘계학술발표대회
    • /
    • pp.796-799
    • /
    • 2010
  • 인터넷의 발전으로 인터넷을 통한 서비스가 증대하고 있다. 반면 응용 소프트웨어의 보안 취약점으로 인해 국가, 기업, 개인 모두에게 정보보호의 중요성이 더욱 강조 되고 있다. 임베디드 소프트웨어인 우주, 항공, 원자력 소프트웨어 등 오류 없이 수행되어야 하는 고안전성 소프트웨어의 개발기법은 이제 응용 소프트웨어의 보안강화 활동에 활용 되고 있다. 특히 시큐어 코딩 (Secure Coding)은 방어적 프로그램(Defensive Programming)을 포함하는 개념으로 소프트웨어의 안전성과 보안성을 향상 시킬 수 있다. 본 논문에서는 범용 보안 취약가능성 분석 도구를 이용하여 소프트웨어의 취약 가능성을 분석하고 보안 취약점 유발 명령어를 분류한다. 그 다음에 시큐어 코딩 기법을 적용하여 취약한 코드를 개선하였다. 이러한 개선을 통해 보안 취약성 가능한 코드 부분을 손쉽게 수정하여 소프트웨어 보안을 개선할 수 있다.

건축 정보 모델 표준을 적용한 정보시스템 통합을 위한 검증 도구 개발 (Developing an Information Validation System for Integrated AEC/FM Systems using Building Information Modeling Standards)

  • 한석희
    • 한국전산구조공학회:학술대회논문집
    • /
    • 한국전산구조공학회 2009년도 정기 학술대회
    • /
    • pp.344-347
    • /
    • 2009
  • 건축, 토목 분야의 정보 교환을 위한 표준으로 주목받고 있는 BIM 모델의 국제 표준인 IFC 표준을 위해, 소프트웨어가 IFC 표준에 맞게 유효한 정보를 입출력 하도록 도와주고, IFC 파일이 표준에 맞는지 검증할 수 있는 모듈을 개발했다. 특히, 지역별 및 국가별 상황에 맞게 BIM 모델을 수정하거나 확장해 사용하도록 권고하고 있는 상황에서 다양한 확장 IFC 표준을 효과적으로 지원할 수 있도록 IFC 표준을 정의하는 EXPRESS 언어로부터, 객체 지향 언어를 위한 소프트웨어 개발 라이브러리를 자동으로 생성하고, 해당 SDK를 활용해 IFC 모델을 검증하는 라이브러리를 자동으로 생성하며, IFC 파일을 검증할 수 있는 독립적인 실행 파일도 자동으로 생성할 수 있도록 했다. 또한 객체 지향 라이브러리를 사용함으로써 주어진 IFC 모델을 효과적으로 문서화 할 수 있도록 HTML 생성 도구를 개발하거나 3차원 형상 확인이 가능하도록 VRML 생성 도구를 개발하는 등의 작업이 쉽게 이뤄짐을 확인했다. 이렇게 자동화된 BIM 소프트웨어 개발 도구는 IFC 모델의 수정이나 확장을 고려하는 BIM 소프트웨어 개발 프로젝트의 생산성을 향상시키고, 해당 시스템의 운영에 신뢰도를 높이는 것은 물론이며, 향후 국내 실정에 맞게 운영될 BIM 인증 제도에도 활용하면 기존의 수작업 방식 인증제도에 비해 인증에 걸리는 시간과 비용을 줄이는 것은 물론 인증 자체의 객관성과 정확성, 투명성과 신뢰성을 높일 수 있을 것으로 기대된다.

  • PDF

규칙기반 역공학 도구의 구현 및 평가 (A implementation and evaluation of Rule-Based Reverse-Engineering Tool)

  • 진영배
    • 한국컴퓨터정보학회논문지
    • /
    • 제9권3호
    • /
    • pp.135-141
    • /
    • 2004
  • 소프트웨어의 종류가 다양하고, 커짐에 따라서 유지 보수 문제는 더욱 복잡하고 어렵게 되고, 프로그램 에러의 교정이나 요구 사항의 변경, 사용자에 대한 요구가 점차 증가되면서 소프트웨어의 유지 보수가 소프트웨어 생명 주기에서 가장 비용을 많이 차지하는 부분이 되었다. 본 논문에서는 객체지향 시스템에서 소프트웨어 재구성 환경을 위한 역공학 도구를 설계, 구현하였다. 이 도구는 클래스 정보를 이용한 규칙기반 역공학 도구이다. 프로그램 유지보수자가 프롤로그를 이용한 시스템 쿼리를 사용할 수 있도록 하였다. 대부분의 유사한 클래스를 추출하기 위한 재구조화 방법과 변수와 함수 사이의 관계에 근거를 둔 방법을 사용하였다. 추출된 클래스의 가시성이 자동적으로 산출되고, 논리언어를 이용한 쿼리를 사용함으로서 실질적인 유지보수가 이루어지도록 하였다. 또한 이 도구를 평가하는 방법을 제안하였다.

  • PDF