• 제목/요약/키워드: 소스 코드 분석

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

안드로이드 어플리케이션의 재사용을 위한 소프트웨어 아키텍처 생성 (Software Architecture Recovery for Android Application Reuse)

  • 박진수;권장진;홍장의;최민
    • 중소기업융합학회논문지
    • /
    • 제3권2호
    • /
    • pp.9-17
    • /
    • 2013
  • 스마트폰의 대중화로 안드로이드 어플리케이션 시장이 급증하였다. 안드로이드 어플리케이션 시장에서 경쟁력을 갖추기 위해서는 높은 생산성, 비용 절감 및 유지 보수가 잘 이루어져야 한다. 또한 어플리케이션의 수요가 높아지면서 짧은 개발 주기가 요구되며 단기간 내에 개발을 진행해야 하므로 개발자는 요구사항 분석 및 체계적인 설계 과정을 생략하는 경우가 많다. 하지만 어플리케이션의 생산성과 비용 절감을 위해 기존 어플리케이션의 전체 또는 일부분을 재사용 할 경우 설계 및 문서화의 생략으로 인해 많은 어려움을 수반되며, 개발 이후 어플리케이션의 유지 보수가 제대로 이루어지지 않을 수 있다. 따라서 본 연구에서는 설계 및 문서화가 생략된 안드로이드 어플리케이션의 소스코드를 대상으로 하여 해당 어플리케이션의 아키텍처를 추출하는 리버스 엔지니어링 방법과, 재사용 가능한 기능들을 식별하는 방법을 제안한다. 제안하는 방법을 통해 안드로이드 어플리케이션의 생산성 증가 및 비용감소와 원활한 유지보수가 이루어지는 것을 기대할 수 있다.

  • PDF

A Study on IISS Software Architecture of Combat Management System for improving modifiability

  • Park, Ji-Yoon;Yang, Moon-Seok;Lee, Dong-Hyeong
    • 한국컴퓨터정보학회논문지
    • /
    • 제25권2호
    • /
    • pp.133-140
    • /
    • 2020
  • 정보저장 소프트웨어는 DSS(Data Sharing Service), UDP와 같은 통신 방식을 사용하여 전투관리체계에서 송/수신되는 모든 메시지를 분석컴퓨터로 전송하는 기능을 수행한다. 정보저장 소프트웨어는 전투 관리체계에서 사용되는 모든 메시지를 처리하기 때문에 소스코드의 규모가 크며 메시지 변화에 의존성이 강한 특성을 가진다. 소프트웨어의 수정은 연쇄적으로 소프트웨어 신뢰성 시험과 같은 많은 노동력을 요구하는 작업이 발생하기 때문에, 소프트웨어 수정 최소화를 비롯한 소프트웨어 개발 비용 절감을 위한 연구가 지속적으로 이루어지고 있다. 본 논문에서는 전투관리체계 정보저장 소프트웨어의 메시지 변화에 대한 의존성을 최소화하고 수정 용이성의 향상을 위한 메시지 수신 방식 및 아키텍처 구조 개선 방안을 연구하였다. DSS와 UDP 프로토콜을 통하여 메시지를 송/수신하던 기존의 방식을 Packet Sniffing으로 변경함으로써 메시지에 대한 의존성을 줄였으며 팩토리 메소드 패턴(Factory Method Pattern)을 적용하여 소프트웨어 설계를 개선하였다. 기존 소프트웨어와 개발 요소를 비교하는 시험을 통해 소프트웨어의 수정 용이성과 재사용성이 향상 된 것을 확인하였다.

웹 기반 어플리케이션의 기능 테스트 자동화 방법 (Automated Functionality Test Methods for Web-based Applications)

  • 국승학;김현수
    • 정보처리학회논문지D
    • /
    • 제14D권5호
    • /
    • pp.517-530
    • /
    • 2007
  • 최근 웹 어플리케이션은 급속도로 성장하였으며, 점점 더 복잡해지고 있다. 웹 어플리케이션이 복잡해질수록 품질에 관련된 다양한 요구사항이 증가하고 있다. 그러나 웹 어플리케이션의 테스트에 관한 연구 및 도구는 매우 부족하다. 이에 본 논문에서는 웹 어플리케이션에 대한 테스트 자동화 기법을 제안한다. 이를 위해 본 논문에서는 HTML 코드와 소스 코트로부터 분석 모델을 생성하고, 이 모델을 기반으로 테스트 대상을 파악하며, 테스트 케이스를 추출한다. 또한 테스트 드라이버와 테스트 데이터를 자동으로 생성하고, 그것들을 서버 내에 자동으로 배치함으로써 매우 쉽게 테스트 환경을 구축한다. 본 논문에서 제안하는 방법은 웹 어플리케이션에 대한 테스트의 전반적인 과정을 자동화하며, 이러한 자동화 방법은 기존의 연구에 비해 웹 어플리케이션의 기능 테스트의 효과를 높일 수 있다는 장점이 있다.

유닛테스트를 활용한 c/c++ 라이브러리 그레이박스 퍼징 적용 자동화 (Automated Applying Greybox Fuzzing to C/C++ Library Using Unit Test)

  • 장준언;김휘강
    • 정보보호학회논문지
    • /
    • 제29권4호
    • /
    • pp.807-819
    • /
    • 2019
  • 그레이박스 퍼징은 소프트웨어에 존재하는 알려지지 않은 보안 취약점을 찾는 효과적인 방법으로 최근까지 활발하게 연구되고 있다. 단, 대부분의 그레이박스 퍼징 도구들은 실행파일을 필요로 하기 때문에 직접 실행할 수 없는 라이브러리는 별도의 실행파일을 준비해야 한다. 이러한 실행파일을 만드는 것은 라이브러리에 대한 이해 및 퍼징에 대한 이해가 동시에 필요한 어려운 일이다. 본 연구에서는 라이브러리를 위한 실행파일을 자동으로 생성하는 방법을 제안하고 이를 LLVM 기반의 도구로 구현한다. 제안하는 방법은 대상 라이브러리 프로젝트에 존재하는 유닛테스트에 대한 정적/동적 분석을 통해 라이브러리를 테스트할 수 있는 실행파일 및 시드파일을 자동으로 생성한다. 생성한 실행파일은 기존 그레이박스 퍼징 도구들이 주로 사용하는 인터페이스를 보유하여 AFL과 같은 다양한 그레이박스 퍼징 도구와 호환된다. 우리는 이 도구를 사용해 오픈소스 프로젝트로부터 생성한 실행파일과 시드파일을 바탕으로 코드 커버리지 및 알려지지 않은 취약점을 찾음으로써 제안하는 방법의 성능을 보인다.

오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 (Development of Integrated Computational Fluid Dynamics(CFD) Environment using Opensource Code)

  • 강승훈;손성만;오세홍;박원만;최청열
    • 융합보안논문지
    • /
    • 제18권1호
    • /
    • pp.33-42
    • /
    • 2018
  • CFD 해석 기술은 열 또는 유체 유동과 관련한 산업 전분야에 걸친 제품의 설계, 개발 시에 컴퓨터를 응용하는 해석기술로서, 컴퓨터를 이용한 가상 시험 (시뮬레이션)을 통해 개발기간 단축, 비용절감 등을 이루고자 활용되고 있다. 그러나 CFD 해석을 위해서는 고가의 외산 상용 CFD 소프트웨어의 사용이 일반적이다. 이에 대한 대안으로 Opensource 기반의 CFD 소프트웨어가 있으나 텍스트 인터페이스 환경만을 지원하기 때문에 전문적인 지식을 가진 사용자만이 사용 가능하다. 이에 본 기술개발에서는 상용 CFD 해석 소프트웨어 수준의 신뢰도를 가지며, 국내외적으로 많은 사용자를 확보하고 있는 Opensource 기반의 CFD 소프트웨어인 OpenFOAM에 대하여 그래픽 기반 환경 설정을 지원하도록 구성하여 전문가뿐만 아니라 초보자도 쉽게 CFD 해석 환경의 구축이 가능하도록 하는 환경을 개발하였다. 또한 개발된 시스템은 CFD 해석을 위한 전처리(형상 및 격자생성) 환경과 후처리(결과 분석 및 가시화)를 위한 환경을 연계를 지원하여 하나의 플랫폼안에서 통합된 CFD 해석 프로세스가 가능하도록 지원한다.

  • PDF

Development of teaching and learning materials using Arduino and piezo buzzer

  • Lee, Eun-Sang
    • 한국컴퓨터정보학회논문지
    • /
    • 제25권12호
    • /
    • pp.349-357
    • /
    • 2020
  • 본 연구에서 저자는 C언어 프로그래밍 교육에서 아두이노를 활용한 교수-학습 자료의 개발 사례를 제시하고자 하였다. 이를 위해 주제 선정-구현 방법 탐색-실험-교수학습자료 제작-수업 적용-개선 등 6단계의 저비용 마이크로컨트롤러 교수-학습 개발 모형을 이용하였다. 본 연구에서는 기존 아두이노 교재에 소개되어 있는 소스 코드와 회로의 구성을 분석한 후, 이를 프로그래밍 교육주제에 맞게 재구성하였다. 또한, 아두이노와 피에조 버저 등의 재료를 이용하여 간단히 회로를 구성하는 방법을 제시하여 회로 구성에 많은 시간이 소요되지 않게 하였다. 이 회로를 이용하여 여러 가지 프로그래밍 내용 요소의 교수-학습 활동에 활용한 사례를 제시하였다. 본 연구는 기존 화면상에서만 확인할 수 있는 C언어 프로그래밍 실습 내용을 직접 실물로 체험할 수 있는 사례를 제시하였다는 점에서 그 의의가 있다.

3D게임엔진을 이용한 물 흐름 재현 (Reproducing water flow using 3D game engine)

  • 강우철;장은경
    • 한국수자원학회:학술대회논문집
    • /
    • 한국수자원학회 2023년도 학술발표회
    • /
    • pp.432-432
    • /
    • 2023
  • 한국건설기술연구원(Korea Institute of Civil Engineering and Building Technology, KICT)의 안동하천연구센터(Andong River Experiment Center, REC)는 다양한 하천 관련 실규모 실험을 수행하기 위해 3개의 수로를 보유하고 있다. 본 연구의 주목적인 실증 실험 계측 결과를 기반으로 3D 게임엔진을 이용하여 물 흐름을 재현하기 위해 A1 수로를 대상구간으로 설정하였다. 실증 실험의 경우 2개의 수문 개도율 조건에서 ADV와 ADCP를 활용하여 계측된 유량 및 유속 결과들을 비교하였으며, 추가적으로 영상 데이터로 부터 표면유속(LS-PIV)을 산정하였다. 3D 게임 엔진은 렌더링 엔진, 물리 엔진, 오디오 엔진, UI 시스템, 게임플레이 프레임워크 등이 잘 융합된 소스코드들과 개발자들이 이용하기 쉬운 방식으로 변환된 툴(tool)로 제공하여 현실 세계를 가상 세계에 시각화하여 구현하는데 큰 장점을 가지고 있다. 또한 기존의 흐름 재현이 가능한 수리/수문 모델링의 경우 특정한 목적으로만 이용가능하고 연산에 소용되는 시간 때문에 실시간 흐름재현이 어렵지만, 3D 게임엔진을 이용하는 경우 다양한 목적과 여러 분야와의 고려가 동시에 가능하며 연산의 단순화를 통해 실시간 흐름 재현이 가능하다는 장점이 있다. 본 연구에서는 언리얼 엔진의 Niagara Fluids와 Fluid flux 툴들을 활용하여 하천실증실험 시설 일부 구간에 대해 물 흐름을 재현하였다. 먼저 하천실험실증시설을 드론과 RTK-GPS를 이용하여 촬영된 결과를 정합하여 3D 게임엔진 기반 흐름 재현을 위한 지형 기초 자료를 구축하였다. 지형 계측 결과를 기반으로 A1 수로 전체 구간을 대상구간으로 설정한 이후 수문 조절을 통해 흐름 조건을 제어할 수 있도록 제작하였으며, 실제 흐름에 대한 계측 결과를 기반으로 재현된 흐름을 대상으로 material 값의 조정(방향 X, Y값을 RGB값으로 변환한 뒤 벡터 길이 값으로 환산)을 통해 0~100 사이 값을 이용하여 유속을 표현하였다. 최근 가상공간 (i.e. 디지털트윈) 관련 시장 성장이 매우 빠르고 다양한 사업에서 해당 기술의 수요가 증가하고 있으며, 본 연구를 통해 물 흐름의 디지털 트윈화를 위한 수단으로서 3D 게임 엔진의 활용 가능성을 확인하였다. 다만 실제 하천의 적용과 하천관리를 위한 실용화를 위해서는 추가적인 연구와 분석이 이루어져야 할 것이다.

  • PDF

농촌소유역에서의 제수문 기작을 고려한 유역-전산유체역학 연계 모델링 기초연구 (A study on coupled SWAT and CFD models of regulating gate operation in small agricultural watershed)

  • 김동현;장태일
    • 한국수자원학회:학술대회논문집
    • /
    • 한국수자원학회 2020년도 학술발표회
    • /
    • pp.262-262
    • /
    • 2020
  • 새만금 유역 내에는 다수의 보 및 제수문이 위치하고 있으며, 관개, 배수, 오염원 등이 영향을 받고 있다. 선행연구 중에는 보 및 제수문을 고려하기 위해 모형의 소스코드를 일부 수정하여 연구되고 있으나 유역모형으로 구현하기에는 한계가 있으며, 이에 대한 연구는 미흡한 실정이다. 본 연구에서는 만경강 유역을 대상으로 유역 모형과 전산유체역학 모형을 이용하여 하류 제수문에 대한 유입, 유출 그리고 오염원 등의 영향을 분석하고자 한다. SWAT (Soil and water assessment tool)은 유역 모형으로 미국 농무부에서 농업유역의 수문순환 및 비점오염원을 모의하기 위해 개발한 모형이다. CFD (Computational fluid dynamics)는 전산유체역학 모형으로 구조물을 설계하고 유체, 기체 등을 모의할 수 있다. SWAT 모형을 이용하여 농업유역 하류 제수문 위치를 출구로 지정하여 수문을 모의하고 그 결과자료는 CFD에 입력할 수 있다. CFD는 하류 제수문 구조물을 설계하고 SWAT 모형의 수문자료를 입력하여 제수문의 영향을 평가할 수 있다. 우선, 만경강 유역을 대상유역으로 선정하고 부용, 황산, 상리, 고은교 등 제수문의 위치를 파악하였다. SWAT 모형 구축을 위해 2015-2018년까지 기상, 수위, 유량 관측자료를 수집하였으며, 보정기간과 검증기간은 각 2년이며, 모형 성능 검증에 사용한 적합성 평가 지수는 R2 (Determine coefficient), RMSE (Root mean square error), 그리고 NSE (Nash-sutcliffe efficiency coefficient)를 사용하였다. 모형의 보정은 SWAT-CUP 자동보정프로그램을 사용하였으며, 모형의 보정지수는 NSE를 사용하였고, 1,000회 반복 수행을 통해 매개변수를 최적화하였다. 보정기간의 유출량 적합성 평가 지수는 R2, RMSE 그리고 NSE가 각각 0.84, 2.96 mm/day, 0.70을 나타냈다. 검증기간의 유출량 적합성 평가 지수는 R2, RMSE 그리고 NSE가 각각 0.72, 2.94 mm/day, 0.46을 나타냈다. 본 연구는 유역 차원과 구조물 차원의 모델링을 연계하는 것으로 향후 제수문 모니터링 자료를 활용하여 CFD 모형을 구축하고 유입량에 따른 제수문의 검보정 및 영향을 평가하고자 한다. 이러한 결과는 최근 기후변화에 따라 급격히 변화하는 유역환경에 대처할 수 있는 방안이 될 수 있을 것이며, 제수문 시설을 관리하는 기관에서도 합리적인 운영방안에 대한 기초자료로 기여할 수 있을 것으로 사료된다.

  • PDF

가짜 광고성 피싱 사이트 탐지 모델 및 대응 기술 (Detection Models and Response Techniques of Fake Advertising Phishing Websites)

  • 이은빈;조정은;박원형
    • 융합보안논문지
    • /
    • 제23권3호
    • /
    • pp.29-36
    • /
    • 2023
  • 최근 검색 엔진에서의 가짜 광고성 피싱 사이트 노출이 급증하면서 검색 품질 악화 및 개인정보 유출로 인한 피해가 커지고 있다. 특히, ChatGPT와 같은 도구들을 통한 광고성 피싱 사이트 생성이 자동화될 가능성이 증가함에 따라 해당 문제의 심각성은 더욱 빠르게 악화되고 있다. 본 논문에서는 가짜 광고성 피싱 사이트의 소스 코드를 정적 분석하여 구조적 공통점을 도출하였고 그 중 외국 도메인, 리다이렉션을 바탕으로 사이트를 단계적으로 필터링하는 탐지 크롤러를 개발하여 최종적으로 가짜 광고성 게시물들이 탐지됨을 확인하였다. 또한, 가짜 광고성 사이트의 리다이렉션 페이지가 3가지의 유형으로 나뉘어 각 상황에 따라 다른 사이트를 반환하는 것을 검증함으로써 새로운 가이드라인의 필요성을 입증한다. 나아가 기존의 탐지 방법으로 탐지가 불가한 가짜 광고성 피싱 사이트를 대상으로 새로운 탐지 가이드라인을 제안한다.

GraalVM 및 Virtual Thread 환경에서 API Gateway의 성능 평가 (Performance evaluation of API Gateway in GraalVM and Virtual Thread environment)

  • 조동일
    • 인터넷정보학회논문지
    • /
    • 제25권4호
    • /
    • pp.39-46
    • /
    • 2024
  • API 게이트웨이는 클라우드 외부의 API 클라이언트가 클라우드 내부 서비스와 통신할 수 있는 단일 진입점을 제공하는 고가용성 구성요소로서 병목 현상을 발생시킬 위험이 크고 서비스 변경 시 재배포가 필요하다. 여러 API 게이트웨이가 구현되고 있는 Java 언어는 배포와 운영 성능의 문제를 극복하기 위해 GraalVM Native Image와 Virtual Thread라는 기술을 발표하였다. Java 애플리케이션에 이들 기술을 적용하기 위해서는 소스 코드 및 배포 절차를 변경해야 한다. 본 연구에서는 API 게이트웨이가 GraalVM Native Image와 Java Virtual Machine(JVM) 기반으로 동작했을 때와 Virtual Thread와 Reactive 스레드 처리 방식 간의 성능을 측정하고 분석하였다. 본 연구에서는 배포 성능과 운영 성능의 평가를 위해 평가지표를 선정하였고 네 가지 환경에서 평가지표의 성능을 측정하고 평가하였다.