• Title/Summary/Keyword: Software Source Code

Search Result 323, Processing Time 0.029 seconds

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

  • Park, Ji-Yoon;Yang, Moon-Seok;Lee, Dong-Hyeong
    • Journal of the Korea Society of Computer and Information
    • /
    • v.25 no.2
    • /
    • pp.133-140
    • /
    • 2020
  • The IISS(Integrated Interface Storage System) software uses communication methods such as DSS(Data Sharing Service), UDP to perform the function of sending all messages from the Combat Management System to the analytical computer. Because IISS software handles all message used in the Combat Management System, the source code is large and has a highly dependent feature on message changes. Modification of software is a task that requires a lot of labor, such as series of software reliability test. so research has been conducted to reduce software development costs, including minimizing software modifications. In this paper, We study the method of messages receiving and architectural structure improvement to minimize reliance on message changes in the Combat Management System and improve the modifiability. Reduced message dependency by changing the way DSS and UDP protocols are communicated to Packet Sniffing. In addition, Factory Method Pattern were applied to improve the software design. Test comparing existing software and development elements have confirmed that the software has improved its modifiability and reuse.

Dynamic Analysis based on AOP for Checking Security Vulnerability (보안 취약점 검사를 위한 AOP 기반의 동적 분석)

  • Seo, Kwang-Ik;Choi, Eun-Man
    • Journal of KIISE:Software and Applications
    • /
    • v.37 no.10
    • /
    • pp.773-778
    • /
    • 2010
  • OWASP announced most of vulnerabilities result from the data injection by user in 2010 after 2007. Because the contaminated input data is determined at runtime, those data should be checked dynamically. To analyze data and its flow at runtime, dynamic analysis method usually inserts instrument into source code. Intermediate code insertion makes it difficult to manage and extend the code so that the instrument code would be spreaded out according to increase of analysis coverage and volume of code under analysis. In addition, the coupling gets strong between instrument modules and target modules. Therefore developers will struggle against modify or extend the analysis code as instrument. To solve these problem, this paper defines vulnerabilities as a concern using AOP, and suggest the flexible and extensible analysis method to insertion and deletion without increase of coupling.

Cellular Automata Simulation System for Emergency Response to the Dispersion of Accidental Chemical Releases (사고로 인한 유해화학물질 누출확산의 대응을 위한 Cellular Automata기반의 시뮬레이션 시스템)

  • Shin, Insup Paul;Kim, Chang Won;Kwak, Dongho;Yoon, En Sup;Kim, Tae-Ok
    • Journal of the Korean Institute of Gas
    • /
    • v.22 no.6
    • /
    • pp.136-143
    • /
    • 2018
  • Cellular automata have been applied to simulations in many fields such as astrophysics, social phenomena, fire spread, and evacuation. Using cellular automata, this study develops a model for consequence analysis of the dispersion of hazardous chemicals, which is required for risk assessments of and emergency responses for frequent chemical accidents. Unlike in cases of detailed plant safety design, real-time accident responses require fast and iterative calculations to reduce the uncertainty of the distribution of damage within the affected area. EPA ALOHA and KORA of National Institute of Chemical Safety have been popular choices for these analyses. However, this study proposes an initiative to supplement the model and code continuously and is different in its development of free software, specialized for small and medium enterprises. Compared to the full-scale computational fluid dynamics (CFD), which requires large amounts of computation time, the relative accuracy loss is compromised, and the convenience of the general user is improved. Using Python open-source libraries as well as meteorological information linkage, it is made possible to expand and update the functions continuously. Users can easily obtain the results by simply inputting the layout of the plant and the materials used. Accuracy is verified against full-scale CFD simulations, and it will be distributed as open source software, supporting GPU-accelerated computing for fast computation.

Efficient Similarity Measurement Technique of Windows Software using Dynamic Birthmark based on API (API 기반 동적 버스마크를 이용한 윈도우용 소프트웨어의 효율적인 유사도 측정 기법)

  • Park, Daeshin;Jie, Hyunho;Park, Youngsu;Hong, JiMan
    • Smart Media Journal
    • /
    • v.4 no.2
    • /
    • pp.34-45
    • /
    • 2015
  • The illegal copy of Windows software is one of the problems, because Windows is the most popular operating system in the country. The illegal copy can be infringe a software copyright, and software birthmark is one of solutions which is protecting software copyright. Software birthmark is a technique to distinguish software piracy using feature information from software. The type of software birthmark can be differentiated between static birthmark and dynamic birthmark through an extraction method. Static birthmark and dynamic birthmark have strengths and weaknesses. In this paper, we propose similarity measurement technique using dynamic birthmark based on API, and we explain extraction process of dynamic birthmark. In addition, we have verified that the proposed similarity measurement technique meet resilience and credibility through experiment. Furthermore, we saw that proposed measurement technique better than existing measurement technique.

COMPONENT-BASED DEVELOPMENT OF OBSERVATIONAL SOFTWARE FOR KASI SOLAR IMAGING SPECTROGRAPH

  • Choi, Seong-Hwan;Kim, Yeon-Han;Moon, Yong-Jae;Choi, Kyung-Seok;Park, Young-Deuk;Jang, Bi-Ho;Kim, Su-Jin;Kim, Kap-Sung
    • Journal of The Korean Astronomical Society
    • /
    • v.38 no.4
    • /
    • pp.463-470
    • /
    • 2005
  • In this paper, we have made the component-based development of observational software for KASI solar imaging spectrograph (KSIS) that is able to obtain three-dimensional imaging spectrograms by using a scanning mirror in front of the spectrograph slit. Since 2002, the KASI solar spectrograph has been successfully operated to observe solar spectra for a given slit region as well as to inspect the response functions of narrow band filters. To improve its capability, we have developed the KSIS that can perform sequential observations of solar spectra by simultaneously controlling the scanning mirror and the CCD camera via Visual C++. Main task of this paper is to introduce the development of the component-based software for KSIS. Each component of the software is reusable on the level of executable file instead of source code because the software was developed by using CBD (component-based development) methodology. The main advantage of such a component-based software is that key components such as image processing component and display component can be applied to other similar observational software without any modifications. Using this software, we have successfully obtained solar imaging spectra of an active region (AR 10708) including a small sunspot. Finally, we present solar $H{\alpha}$ spectra ($6562.81{\AA}$) that were obtained at an active region and a quiet region in order to confirm the validity of the developed KSIS and its software.

The Process of Software Quality Assurance About Initial Product in Weapon System (무기체계 최초양산품 소프트웨어 품질보증 프로세스 연구)

  • Yu, Jiseon;Song, Chi-Hoon;Kwon, Soonmo;Park, Byeonghun;Oh, Jinwoo
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.22 no.1
    • /
    • pp.285-293
    • /
    • 2021
  • This study evaluated the process of software quality assurance about the initial product in a weapon system. The software quality assurance of the initial product was insufficient before this study. Therefore, the process of the software quality assurance about the initial product in a weapon system is suggested. The process has three parts. First, the completeness of computer files, such as source code and execute files, were checked. Second, the suitability of the software technical data was checked. Finally, the connectivity of software technical data and the Korean defense specification were assessed. Overall, there is a need to toughen the software quality assurance in the research and development step and achieve early stabilization of mass production by preventing the problems that prevent the production of a product due to the insufficient software technical data.

Appraisal method for Determining Whether to Upgrade Software for Appraisal (감정 대상 소프트웨어의 업그레이드 여부 판정을 위한 감정 방법)

  • Chun, Byung-Tae;Jeong, Younseo
    • Journal of Software Assessment and Valuation
    • /
    • v.16 no.1
    • /
    • pp.13-19
    • /
    • 2020
  • It can be seen that the infringement of copyright cases is increasing as the society becomes more complex and advanced. During the software copyright dispute, there may be a dispute over whether the software is duplicated and made into upgraded software. In this paper, we intend to propose an analysis method for determining whether to upgrade software. For the software upgrade analysis, a software similarity analysis technique was used. The analysis program covers servers, management programs, and Raspberry PC programs. The first analysis confirms the correspondence between program creation information and content. In addition, it analyzes the similarity of functions and screen composition between the submitted program and the program installed in the field. The second comparative analysis compares and analyzes similarities by operating two programs in the same environment. As a result of comparative analysis, it was confirmed that the operation and configuration screens of the two programs were identical. Thus, minor differences were found in a few files, but it was confirmed that the two programs were mostly made using the same or almost similar source code. Therefore, this program can be judged as an upgrade program.

Analogy-based Reuse of Object Model (아날로지를 기반으로 한 객체모델의 재사용)

  • Bae, Je-Min
    • The KIPS Transactions:PartD
    • /
    • v.14D no.6
    • /
    • pp.665-674
    • /
    • 2007
  • Code reuse in software reuse has several limitations such as difficulties of understanding and retrieval of the reuse code written by other developers. To overcome these problems, it should be possible to reuse the analysis/design information than source code itself. Therefore, this paper present analogical matching techniques for the reuse of object models and patterns. And this paper have suggested the object model and the design patterns as reusable components and the representation techniques to store them. Namely, the contents of the paper are as follows. Analogical matching functions to retrieve analogous components from reusable libraries. And the representation of reusable components to be stored in the library in order to support the analogical matching.

Intermediate Language Translator for Execution of Java Programs in .NET Platform

  • Lee, Yang-Sun;Na, Seung-Won;Hwang, Dae-Hoon
    • Journal of Korea Multimedia Society
    • /
    • v.7 no.6
    • /
    • pp.824-831
    • /
    • 2004
  • This paper presents the java bytecode-to-.NET MSIL intermediate language translator which enables the execution of the java program in .NET environments without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into MSIL codes. Java, one of the most widely used programming languages recently, is the language invented by James Gosling at Sun Microsystems, which is the next generation language independent of operating systems and hardware platforms. Java source code is compiled into bytecode as intermediate code independent of each platform by compiler, and also executed by JVM. .NET language such as C# and .NET platform in Microsoft Corp. has been developed to meet the needs of programmers, and cope with Java and JVM platform of Sun Microsystems. After compiling, a program written in .NET language is converted to MSIL code, and also executed by .NET platform but not in JVM platform. For this reason, we designed and implemented the java bytecode-to-.NET MSIL translator system for programs written in java language to be executed in the. NET platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides a environment for programmers to develop application programs without limitations of programming languages.

  • PDF

Design of Programming Failure Feedback System Based on Control Flow of Test Case to Support Programming Training (프로그래밍 훈련 지원을 위한 테스트케이스의 제어흐름에 기반한 프로그래밍 실패 피드백 시스템 설계)

  • Lee, Sunghee;Kim, Deok Yeop;Seo, Kang Bok;Lee, Woo Jin
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.8 no.8
    • /
    • pp.317-322
    • /
    • 2019
  • Programming judge systems for programming training support are typically built on the Web, where the examiners uploads a programming problem, which the student reads and submits an answer to the problem. The judge system executes the submitted answer of source code to provide feedback such as pass, failure, and error messages. Students who receive the feedback except for the pass continues debugging the source code until they are judged to pass. We developed an online judge system to support programming training and analyzed answers submitted by the students and found that many of the students who were not judged to pass that test did not know exactly where they were wrong but continued to solve the problem. The current judge system generally feeds runtime error messages back to students. However, with only runtime error message, it is difficult for student who train to find the wrong part of the answer. Therefore, in this paper, we propose a system that provides the feedback of programming failure by analyzing the control flow of the test cases used in the source code submitted by the student. The proposed system helps students find the wrong parts more quickly by feeding back the paths where faults in the control flow may exist. In addition, we show that this system is applicable to the answer source code that the actual student submitted.