• 제목/요약/키워드: Software Source Code

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

동일한 경량 컨테이너 구조 환경에서 스프링 2.5와 EJB 3.0의 개발 생산성 비교 (Comparison of Development Productivity of Spring 2.5 and EJB 3.0 with Lightweight Container Architecture)

  • 이명호;한정수
    • 디지털융복합연구
    • /
    • 제10권3호
    • /
    • pp.137-142
    • /
    • 2012
  • 본 논문은 동일한 경량 컨테이너 구조 환경에서 스프링 2.5와 EJB 3.0의 개발 생산성에 대한 지침과 평가 지표를 제공하는데 목적이 있다. 스프링은 경량 컨테이너 아키텍처로 성공적인 오픈 소스 모델로 알려져 있으며, EJB는 엔터프라이즈 환경에서의 표준 프레임워크로 현업에서 가장 많이 사용되고 있다. 그러나 동일한 플랫폼 상에서 스프링 2.5와 EJB 3.0 프레임워크에 대한 성능 평가 연구는 부족하였다. 또한 정량적 분석도 일부분의 LoC(Line of Code) 분석만 시도함에 따라 새로운 사양이 발표됨에도 구체적인 평가 지표와 지침이 부족하여 소프트웨어 생산성의 평가와 프로젝트의 새로운 시도에 제한이 있었다. 따라서 본 연구에서는 동일한 개발 플랫폼 환경을 기반으로 파일럿 시스템을 스프링 2.5와 EJB 3.0 프레임워크에서 설계하고 구현한 후, 개발 플랫폼 환경별 객관적인 소프트웨어 개발 생산성을 비교하고, 표준화에 따른 평가 지표를 제공하고자 한다.

데이터전송효율을 고려한 유니코드의 한글글자마디에 대한 연구 (A Study on the Hangul Syllables of Unicode System considering Data Transmission Efficiency)

  • 홍완표
    • 한국전자통신학회논문지
    • /
    • 제10권1호
    • /
    • pp.39-46
    • /
    • 2015
  • 본 논문은 유니코드 한글글자마디부호를 사용할 때 스크램블링으로 인하여 회선부호기의 데이터 전송효율에 미치는 영향을 연구하였다. 회선부호기의 스크램블링은 원천부호의 문제를 해결하기 위한 것이다. 본 논문은 장거리전송에 사용되는 AMI회선부호화에 적용하는 국제표준방식인 HDB-3 스크램블링 방식을 토대로 하였다. 본 연구에 필요한 한글글자마디와 이에 대한 사용빈도는 국립국어원의 한국어자료를 분석한 데이터를 사용하였다. 연구결과 유니코드 한글글자마디에서 평균 24%의 스크램블링이 발생하였다. 유니코드 한글글자마디부호에 참고된 한글글자마디를 적용할 경우에 평균 27%의 스크램블링이 발생하였다. 유니코드 총 11,172개의 한글글자마디에서 스크램블링이 발생하지 않는 글자마디는 총 8,928개였다. 그러므로 참고된 한글글자마디 총1,540자를 스크램블링이 발생하지 않는 부호영역에 수용하여 스크램블링이 발생되지 않는 원천부호체계를 만드는 것이 가능하다는 결론을 도출하였다. 새로운 한글글자마디 부호체계를 적용할 경우, 27%의 스크램블링을 완전히 제거할 수 있다. 또한 물리계층의 회선 부호화기에서 발생하는 스크램블링을 표현계층에서 소프트웨어 적으로 수행하게 되어, 회선부호기의 데이터전송처리 효율을 최소 27%이상 제고시킬 수 있다.

절차중심 시스템으로부터 객체추출 방법 및 도구개발에 관한 연구 (A Study on the Method and Tool Development for Extracting Objects from Procedure-oriented System)

  • 김정종;손창민
    • 한국정보처리학회논문지
    • /
    • 제5권3호
    • /
    • pp.649-661
    • /
    • 1998
  • 객체지향 패러다임을 적용한 시스템으로 재개발한다면 재사용을 통한 소프트웨어 생산성 향상을 이룰 수 있고, 유지보수 비용을 절감할 수 있게 된다. 절차중심의 시스템을 객체지향 패러다임을 적용한 형태로 변환시킬 때 특히 코드에서 자동 혹은 반자동으로 객체를 추출하고자 하는 기법들이 많이 연구되고 있다. 그러나 이들 방법에서는 개념적인 객체의 추출이 용이하지 않다. 따라서 추출되는 객체의 개념적 무결성이 떨어지는 문제가 발생한다. 본 논문에서는 절차중심으로 개발된 프로그램을 객체지향 시스템으로 바꾸려고 할 때 발생되는 문제점중의 하나인 객체추출 방법 및 툴에 대해 논한다. 원시 코드 및 설계 복구 정보를 입력받은 후 먼저 실세계의 응용영역에 대한 객체 모델링을 이용하여 객체를 추출한다. 그리고, 코드의 기능, 코드의 전역변수 및 인터페이스를 분석하여 객체를 추출하므로써 객체의 개념적 무결성을 높이며, 클래스 계층구조의 구축을 용이하게 한다.

  • PDF

원개발자 부재에 따른 원시코드 기반의 단위테스트 노력 분석 (Effort Analysis of Unit Testing Conducted by Non-Developer of Source Code)

  • 윤회진
    • 한국IT서비스학회지
    • /
    • 제11권4호
    • /
    • pp.251-262
    • /
    • 2012
  • Unit testing is one of the test levels, which tests an individual unit or a group of related units. Recently, in Agile Development or Safety-critical System Development, the unit testing plays an important role for the qualities. According to the definition of unit testing, it is supposed to be done by the developers of units. That is because test models for the unit testing refers to the structure of units, and others but its original developers hardly can understand the structures. However, in practice, unit testing is often asked to be done without the original developers. For example, it is when faults are revealed in customer sites and the development team does not exit any more. In this case, instead of original developers, other developers or test engineers take a product and test it. The unit testing done by a non-developer, who is not the original developer, would cause some difficulties or cause more cost. In this paper, we tests an open source, JTopas, as a non-developer, with building test models, implementing test codes, and executing test cases. To fit this experiment to practical testing situations, we designed it based on the practices of unit testing, which were surveyed through SPIN(Software Process Improvement Network). This paper analyzes which part of unit testing done by non-developers needs more effort compared to the unit testing done by original developers. And it concludes that Agile Development contributes on reducing the extra effort caused by non-developers, since it implements test codes first before developing source code. That means all the units have already included their own tests code when they are released.

변경 유형의 유사도 및 커밋 시간을 이용한 파일 변경 결합도 (A Technique to Detect Change-Coupled Files Using the Similarity of Change Types and Commit Time)

  • 김정일;이은주
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제3권2호
    • /
    • pp.65-72
    • /
    • 2014
  • 변경 결합도는 두 요소들 사이의 향후 변경 연관성을 알려준다. 만약, 소스 파일들이 자주 함께 변경된다면, 그 소스 파일들의 변경 결합도는 높다고 볼 수 있으며, 나중에 다시 함께 변경될 확률이 높다. 일반적으로 소스 파일들 사이의 변경 결합도는 공통 변경 횟수에 기반하여 정의되었다. 그런데 연관성이 낮은 변경들이 일괄적으로 함께 커밋되는 경우, 즉 뒤얽힌 변경(tangled change)과 같은 경우들이 빈번히 발생한다. 따라서 함께 변경된 횟수만으로 소스 파일의 변경 결합도를 결정하는 것은 한계가 있다. 본 논문에서는 기존의 방법을 보완하기 위해, 소스 파일의 변경 시간뿐 아니라 소스 코드 변경 유형의 유사성을 함께 고려하는 것을 제안하였다. 이를 위하여, 우선 추출된 변경 유형 정보를 이용하여 변경 유형 빈도 벡터를 정의하고, 다음에 코사인 유사도 측정을 통해서 각 소스 파일 버전에서 적용된 코드 변경 유사성을 계산한다. 이후 Eclipse 프로젝트인 JDT와 CDT에 대한 사례 연구를 통해 제안된 방법의 효용성을 보였다.

제어 및 모니터링 소프트웨어 자동 생성을 위한 XML 기반 프레임웍 (A XML Based Framework for Automatically Generating Control and Monitoring Software)

  • 유대승;김종환;이명재
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제12권1호
    • /
    • pp.43-55
    • /
    • 2006
  • 본 논문에서는 여러 자동화 장비들의 제어 및 모니터링 소프트웨어에 대한 쉬운 개발, 유지보수, 확장성을 향상시킬 수 있는 프레임웍을 제안하고자 한다. 본 논문에서 제안하는 프레임웍은 세 가지(IID, MAP, CMIML)의 XML 문서와 두개(VI Wizard, Generator)의 툴로 구성된다. IID는 장비에 대한 인터페이스를 기술하고, MAP은 IID에서 기술된 인터페이스와 실제 장비 드라이버 API간의 연결정보를 기술하며, CMIML은 제어 및 모니터링 소프트웨어를 기술한다. 제안하는 프레임웍의 범용성과 플랫폼 독립성을 지원하기 위하여 IID, MAP, CMIML은 XML 문서 형식으로 기술되었다. VI Wizard는 IID와 기작성된 CMIML을 입력으로 소프트웨어를 기술하는 CMIML(플랫폼 독립적인 중간 문서)을 생성하고, Generator는 VI Wizard에서 생성된 CMIML과 MAP을 이용하여 제어 및 모니터링 소프트웨어(플랫폼 종속적인 코드)를 자동 생성한다. 제안하는 프레임웍은 GUI 기반으로 제어 및 모니터링 소프트웨어를 자동 생성함으로써 쉬운 개발과 유지보수성을 제공하고, XML 기반의 기술문서 사용으로 플랫폼 독립성을 제공하면서 범용적으로 사용할 수 있도록 한다. 또한 플랫폼 종속적인 코드 재사용이 아닌 플랫폼 독립적인 소프트웨어 기술 문서를 재사용함으로써 재사용성을 증가시킬 수 있다.

Numerical and experimental study on flexural behavior of reinforced concrete beams: Digital image correlation approach

  • Krishna, B. Murali;Reddy, V. Guru Prathap;Tadepalli, T.;Kumar, P. Rathish;Lahir, Yerra
    • Computers and Concrete
    • /
    • 제24권6호
    • /
    • pp.561-570
    • /
    • 2019
  • Understanding the realistic behavior of concrete up to failure under different loading conditions within the framework of damage mechanics and plasticity would lead to an enhanced design of concrete structures. In the present investigation, QR (Quick Response) code based random speckle pattern is used as a non-contact sensor, which is an innovative approach in the field of digital image correlation (DIC). A four-point bending test was performed on RC beams of size 1800 mm × 150 mm × 200 mm. Image processing was done using an open source Ncorr algorithm for the results obtained using random speckle pattern and QR code based random speckle pattern. Load-deflection curves of RC beams were plotted for the results obtained using both contact and non-contact (DIC) sensors, and further, Moment (M)-Curvature (κ) relationship of RC beams was developed. The loading curves obtained were used as input data for material model parameters in finite element analysis. In finite element method (FEM) based software, concrete damage plasticity (CDP) constitutive model is used to predict the realistic nonlinear quasi-static flexural behavior of RC beams for monotonic loading condition. The results obtained using QR code based DIC are observed to be on par with conventional results and FEM results.

Building a Dynamic Analyzer for CUDA based System.

  • SALAH T. ALSHAMMARI
    • International Journal of Computer Science & Network Security
    • /
    • 제23권8호
    • /
    • pp.77-84
    • /
    • 2023
  • The utilization of GPUs on general-purpose computers is currently on the rise due to the increase in its programmability and performance requirements. The utility of tools like NVIDIA's CUDA have been designed to allow programmers to code algorithms by using C-like language for the execution process on the graphics processing units GPU. Unfortunately, many of the performance and correctness bugs will happen on parallel programs. The CUDA tool support for the parallel programs has not yet been actualized. The use of a dynamic analyzer to find performance and correctness bugs in CUDA programs facilitates the execution of sophisticated processes, especially in modern computing requirements. Any race conditions bug it will impact of program correctness and the share memory bank conflicts to improve the overall performance. The technique instruments the programs in a way that promotes accessibility of the memory locations accessed by different threads well as to check for any bugs in the code of a program. The instrumented source code will be used initiated directly in the device emulation code of CUDA to send report for the user about all errors. The current degree of automation helps programmers solve subtle bugs in highly complex programs or programs that cannot be analyzed manually.

바이너리 코드 취약점 탐지를 위한 딥러닝 기반 동적 오염 탐지 기술 (Deep Learning based Dynamic Taint Detection Technique for Binary Code Vulnerability Detection)

  • 고광만
    • 한국정보전자통신기술학회논문지
    • /
    • 제16권3호
    • /
    • pp.161-166
    • /
    • 2023
  • 최근 바이너리 코드에 대한 신종·변종 해킹이 증가되고 있으며 소스 프로그램에서 악성코드를 탐지하고 공격에 대한 방어 기술의 한계점이 자주 노출되는 상황이다. 바이너리 코드에 대해 머신러닝, 딥러닝 기술을 활용하여 고도화된 소프트웨어 보안 취약점 탐지 기술과 공격에 대한 방어와 대처 능력이 필요하다. 본 논문에서는 바이너리 코드의 실행 경로를 추적(execution trace)하여 동적 오염 정보를 입력한 후 오염 정보를 따른 특징을 기반으로 멀웨어를 그룹핑하는 멀웨어 클러스터링 방법을 제안한다. 멀웨어 취약점 탐지는 3-계층으로 구성한 Few-shot 학습 모델에 적용하여 각 계층의 CPU, GPU에 대해 F1-score를 산출하였다. 학습 과정에서 97~98%의 성능과 테스트 과정에서 80~81% 정도의 탐지 성능을 얻었다.

IEC 62279 규격의 소프트웨어 정적분석에 관한 연구 (A Study on Software Static Analysis Method on IEC 62279)

  • 김철환;이창룡;이재호;김재식;이기서
    • 한국전자통신학회논문지
    • /
    • 제10권4호
    • /
    • pp.513-519
    • /
    • 2015
  • 정적분석방식은 소프트웨어 코드분석방식중의 하나이다. 국제철도신호시스템 소프트웨어 관련규격 IEC 62279에서는 소프트웨어 안전성 레벨에 따라 총 9가지 분석방법을 조합하여 사용할 것을 권고하고 있다. 본 논문에서는 도시철도 차 지상간 열차운행 정보 통신장치 연구개발에서 소프트웨어 품질을 향상하기 위하여 세 가지 정적분석방식에 대하여 연구하고, LDRA 툴을 이용하여 사례 연구를 진행하였다. 따라서 철도신호시스템 소프트웨어개발주기에 필요한 시간을 단축하여 안전성 관련 소프트웨어의 효율적인 개발에 도움을 주고자 한다.