• Title/Summary/Keyword: Software Source Code

Search Result 319, Processing Time 0.026 seconds

Maximum Stack Memory Usage Estimation Through Target Binary File Analysis in Microcontroller Environment (마이크로컨트롤러 환경에서 타깃 바이너리 파일 분석을 통한 최대 스택 메모리 사용량 예측 기법)

  • Choi, Kiho;Kim, Seongseop;Park, Daejin;Cho, Jeonghun
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.12 no.3
    • /
    • pp.159-167
    • /
    • 2017
  • Software safety is a key issue in embedded system of automotive and aviation industries. Various software testing approaches have been proposed to achieve software safety like ISO26262 Part 6 in automotive environment. In spite of one of the classic and basic approaches, stack memory is hard to estimating exactly because of uncertainty of target code generated by compiler and complex nested interrupt. In this paper, we propose an approach of analyzing the maximum stack usage statically from target binary code rather than the source code that also allows nested interrupts for determining the exact stack memory size. In our approach, determining maximum stack usage is divided into three steps: data extraction from ELF file, construction of call graph, and consideration of nested interrupt configurations for determining required stack size from the ISR (Interrupt Service Routine). Experimental results of the estimation of the maximum stack usage shows proposed approach is helpful for optimizing stack memory size and checking the stability of the program in the embedded system that especially supports nested interrupts.

A Tool to Support Efficient Development of Node Software for Various Operating System Platforms in Sensor Network Environment (센서 네트워크 환경에서 다양한 운영체제 플랫폼을 위한 노드 소프트웨어의 효율적인 개발을 지원하는 도구)

  • Lee, Woo-Jin;Choi, Il-Woo
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.15 no.7
    • /
    • pp.4536-4544
    • /
    • 2014
  • This paper proposes a development tool to efficiently develop node software for various operating system platforms in a sensor network. The proposed tool consisted of several modules, such as writing graphical model diagram, PIM and PSM design, code generation, and deployment file generation. Through the proposed tool, the users can graphically draw a sensor network model and design the PIM and PSM of the node software by setting the values of the predefined attributes. The source code of the node software is generated automatically from the PSM using the code templates of the target platform. The deployment files for installing node software on each node are generated automatically. The proposed tool helps the users to develop node software easily for a range of target platforms, even though they do not have details of the low-level information for a sensor network.

Method and Application of Searching Hot Spot For Reengineering Software Using AOP (AOP를 이용한 재공학에서의 핫 스팟 탐색과 응용)

  • Lee, Ei-Sung;Choi, Eun-Man
    • The KIPS Transactions:PartD
    • /
    • v.16D no.1
    • /
    • pp.83-92
    • /
    • 2009
  • Complicated business logic makes program complexity more complicated. It's inevitable that the program must undergo reengineering processes all the way of in its lifetime. Hot spot analysis that has diverse purposes is getting an important question more and more. As a rule, reengineering process is done by UML model-based approach to analyze the legacy system. The smallest fragment of targets to be analysed is unit, that is function or class. Today's software development is to deal with huge change of software product and huge class including heavy quantity of LOC(Lines Of Code). However, analysis of unit is not precise approach process for reliable reengineering consequence. In this paper, we propose very precise hot spot analysis approach using Aspect-Oriented Programming languages, such as AspectJ. Typically the consistency between UML and source is needed code to redefine the modified library or framework boundaries. But reengineering approach using AOP doesn't need to analyze UML and source code. This approach makes dynamic event log data that contains detailed program interaction information. This dynamic event log data makes it possible to analyze hot spot.

CompGenX: Component Code Generation System based on GenVoca and XML (CompGenX: GenVoca와 XML 기반의 컴포넌트 코드 생성 시스템)

  • Choi Seung-Hoon
    • Journal of Internet Computing and Services
    • /
    • v.4 no.3
    • /
    • pp.57-67
    • /
    • 2003
  • Software product lines are to attain the rapid development of qualify applications by concretizing the general components populated in software assets and assembling them according to the predefined architectures. For supporting the construction of the software product lines, this paper proposes a component code generation techniques based on GenVoca architecture and XML/XSLT technologies, In addition, CompGenX(Component Generator using XML), a component code generation system, is proposed on the basis of this techniques. By providing reconfigurability of component at the time of code generation, CompGenX allows the reusers to create the component source code that is appropriate to their purpose, In this system, the process of the component development is divided into two tasks which are the component family construction task and the component reuse task, For the component family construction, CompGenX provides the feature modeling tool for domain analysis and the domain architecture definition tool. Also, it provides the tool for building the component configuration know1edge specification and the code templates, For the component reuse task, it offers the component family search tool. the component customizing tool and the component code generator. Component code generation techniques and system in this paper should be applicable as basic technology to build the component-based software product lines.

  • PDF

CodeAnt : Code Slicing Tool for Effective Software Verification (CodeAnt : 소프트웨어 검증 효율 향상을 위한 코드 슬라이싱 도구)

  • Park, Mingyu;Kim, Dongwoo;Choi, Yunja
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.4 no.1
    • /
    • pp.1-8
    • /
    • 2015
  • Safety critical systems require exhaustive verification of safety properties, because even a single corner-case fault can cause a critical safety failure. However, existing verification approaches are too costly in terms of time and computational resource required, making it hard to be applied in practice. In this paper, we implemented a tool for minimizing the size of the verification target w.r.t. verification properties to check, based on program slicing technique[1]. The efficacy of program slicing using our tool is demonstrated in a case study with a verification target Trampoline[3], which is an open source automotive operating system compliant with OSEK/VDX[2]. Experiments have shown enhanced performance in verification, with a 71% reduction in the size of the code.

Development of Galerkin Finite Element Method Three-dimensional Computational Code for the Multigroup Neutron Diffusion Equation with Unstructured Tetrahedron Elements

  • Hosseini, Seyed Abolfazl
    • Nuclear Engineering and Technology
    • /
    • v.48 no.1
    • /
    • pp.43-54
    • /
    • 2016
  • In the present paper, development of the three-dimensional (3D) computational code based on Galerkin finite element method (GFEM) for solving the multigroup forward/adjoint diffusion equation in both rectangular and hexagonal geometries is reported. Linear approximation of shape functions in the GFEM with unstructured tetrahedron elements is used in the calculation. Both criticality and fixed source calculations may be performed using the developed GFEM-3D computational code. An acceptable level of accuracy at a low computational cost is the main advantage of applying the unstructured tetrahedron elements. The unstructured tetrahedron elements generated with Gambit software are used in the GFEM-3D computational code through a developed interface. The forward/adjoint multiplication factor, forward/adjoint flux distribution, and power distribution in the reactor core are calculated using the power iteration method. Criticality calculations are benchmarked against the valid solution of the neutron diffusion equation for International Atomic Energy Agency (IAEA)-3D and Water-Water Energetic Reactor (VVER)-1000 reactor cores. In addition, validation of the calculations against the $P_1$ approximation of the transport theory is investigated in relation to the liquid metal fast breeder reactor benchmark problem. The neutron fixed source calculations are benchmarked through a comparison with the results obtained from similar computational codes. Finally, an analysis of the sensitivity of calculations to the number of elements is performed.

Tree-Pattern-Based Clone Detection with High Precision and Recall

  • Lee, Hyo-Sub;Choi, Myung-Ryul;Doh, Kyung-Goo
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.12 no.5
    • /
    • pp.1932-1950
    • /
    • 2018
  • The paper proposes a code-clone detection method that gives the highest possible precision and recall, without giving much attention to efficiency and scalability. The goal is to automatically create a reliable reference corpus that can be used as a basis for evaluating the precision and recall of clone detection tools. The algorithm takes an abstract-syntax-tree representation of source code and thoroughly examines every possible pair of all duplicate tree patterns in the tree, while avoiding unnecessary and duplicated comparisons wherever possible. The largest possible duplicate patterns are then collected in the set of pattern clusters that are used to identify code clones. The method is implemented and evaluated for a standard set of open-source Java applications. The experimental result shows very high precision and recall. False-negative clones missed by our method are all non-contiguous clones. Finally, the concept of neighbor patterns, which can be used to improve recall by detecting non-contiguous clones and intertwined clones, is proposed.

Building Software Research Environment using Linux Container and Version Control System (리눅스 컨테이너와 버전 관리 시스템을 이용한 소프트웨어 연구 환경 구축)

  • Ha, Wansoo
    • Geophysics and Geophysical Exploration
    • /
    • v.24 no.2
    • /
    • pp.45-52
    • /
    • 2021
  • With advancements in software technology, more scientists and engineers are employing computer software and programming tools for research. However, several issues can arise in software-based research: environment setting, reproducibility, and loss of source codes. This study investigates the use of Linux containers and version control systems to prevent these problems. Managing research projects using a cloud source-code repository and building a research environment in a Linux container can prevent the abovementioned problems and make research collaboration easier. For researchers with no experience with Linux containers, a repository of project template containing shell scripts for building and running containers has been released.

A Functional Unit Dynamic API Birthmark for Windows Programs Code Theft Detection (Windows 프로그램 도용 탐지를 위한 기능 단위 동적 API 버스마크)

  • Choi, Seok-Woo;Cho, Woo-Young;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.36 no.9
    • /
    • pp.767-776
    • /
    • 2009
  • A software birthmark is a set of characteristics that are extracted from a program itself to detect code theft. A dynamic API birthmark is extracted from the run-time API call sequences of a program. The dynamic Windows API birthmarks of Tamada et al. are extracted from API call sequences during the startup period of a program. Therefore. the dynamic birthmarks cannot reflect characteristics of main functions of the program. In this paper. we propose a functional unit birthmark(FDAPI) that is defined as API call sequences recorded during the execution of essential functions of a program. To find out that some functional units of a program are copied from an original program. two FDAPIs are extracted by executing the programs with the same input. The FDAPIs are compared using the semi-global alignment algorithm to compute a similarity between two programs. Programs with the same functionality are compared to show credibility of our birthmark. Binary executables that are compiled differently from the same source code are compared to prove resilience of our birthmark. The experimental result shows that our birthmark can detect module theft of software. to which the existing birthmarks of Tamada et al. cannot be applied.

The Study of Software Analysis Process for Vertical Reuse (수직적 재사용을 위한 방법론 연구)

  • Bang Jung Won
    • Journal of the Korea Society of Computer and Information
    • /
    • v.9 no.3
    • /
    • pp.103-107
    • /
    • 2004
  • Software Reuse have the advantages of increasing productivity and software reliability reducing the period for software development and cost, sharing the information which is related to software. Vertical Reuse is the method which reuse is restricted to a specific area and can increase the reliability of software reuse due to high understanding of related area. Bottom-up approach of Vertical Reuse classifies the related information and s the results. It allows the reuse of not only pure source code but also informal documents.

  • PDF