• Title/Summary/Keyword: Source Code Semantic Analysis

Search Result 8, Processing Time 0.018 seconds

EVALUATION OF STATIC ANALYSIS TOOLS USED TO ASSESS SOFTWARE IMPORTANT TO NUCLEAR POWER PLANT SAFETY

  • OURGHANLIAN, ALAIN
    • Nuclear Engineering and Technology
    • /
    • v.47 no.2
    • /
    • pp.212-218
    • /
    • 2015
  • We describe a comparative analysis of different tools used to assess safety-critical software used in nuclear power plants. To enhance the credibility of safety assessments and to optimize safety justification costs, $Electricit{\acute{e}}$ de France (EDF) investigates the use of methods and tools for source code semantic analysis, to obtain indisputable evidence and help assessors focus on the most critical issues. EDF has been using the PolySpace tool for more than 10 years. Currently, new industrial tools based on the same formal approach, Abstract Interpretation, are available. Practical experimentation with these new tools shows that the precision obtained on one of our shutdown systems software packages is substantially improved. In the first part of this article, we present the analysis principles of the tools used in our experimentation. In the second part, we present the main characteristics of protection-system software, and why these characteristics are well adapted for the new analysis tools. In the last part, we present an overview of the results and the limitations of the tools.

A design of the PSDG based semantic slicing model for software maintenance (소프트웨어의 유지보수를 위한 PSDG기반 의미분할모형의 설계)

  • Yeo, Ho-Young;Lee, Kee-O;Rhew, Sung-Yul
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.8
    • /
    • pp.2041-2049
    • /
    • 1998
  • This paper suggests a technique for program segmentation and maintenance using PSDG(Post-State Dependency Graph) that improves the quality of a software by identifying and detecting defects in already fixed source code. A program segmentation is performed by utilizing source code analysis which combines the measures of static, dynamic and semantic slicing when we need understandability of defect in programs for corrective maintanence. It provides users with a segmental principle to split a program by tracing state dependency of a source code with the graph, and clustering and highlighting, Through a modeling of the PSDG, elimination of ineffective program deadcode and generalization of related program segments arc possible, Additionally, it can be correlated with other design modeb as STD(State Transition Diagram), also be used as design documents.

  • PDF

Detecting Inconsistent Code Identifiers (코드 비 일관적 식별자 검출 기법)

  • Lee, Sungnam;Kim, Suntae;Park, Sooyoung
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.2 no.5
    • /
    • pp.319-328
    • /
    • 2013
  • Software maintainers try to comprehend software source code by intensively using source code identifiers. Thus, use of inconsistent identifiers throughout entire source code causes to increase cost of software maintenance. Although participants can adopt peer reviews to handle this problem, it might be impossible to go through entire source code if the volume of code is huge. This paper introduces an approach to automatically detecting inconsistent identifiers of Java source code. This approach consists of tokenizing and POS tagging all identifiers in the source code, classifying syntactic and semantic similar terms, and finally detecting inconsistent identifiers by applying proposed rules. In addition, we have developed tool support, named CodeAmigo, to support the proposed approach. We applied it to two popular Java based open source projects in order to show feasibility of the approach by computing precision.

An Approach for Error Detection in Ontologies Using Concept Lattices (개념격자를 이용한 온톨로지 오류검출기법)

  • Hwang, Suk-Hyung
    • Journal of Information Technology Services
    • /
    • v.7 no.3
    • /
    • pp.271-286
    • /
    • 2008
  • The core of the semantic web is ontology, which supports interoperability among semantic web applications and enables developer to reuse and share domain knowledge. It used a variety of fields such as Information Retrieval, E-commerce, Software Engineering, Artificial Intelligence and Bio-informatics. However, the reality is that various errors might be included in conceptual hierarchy when developing ontologies. Therefore, methodologies and supporting tools are essential to help the developer construct suitable ontologies for the given purposes and to detect and analyze errors in order to verify the inconsistency in the ontologies. In this paper we propose a new approach for ontology error detection based on the Concept Lattices of Formal Concept Analysis. By using the tool that we developed in this research, we can extract core elements from the source code of Ontology and then detect some structural errors based on the concept lattices. The results of this research can be helpful for ontology engineers to support error detection and construction of "well-defined" and "good" ontologies.

Authorship Attribution Framework Using Survival Network Concept : Semantic Features and Tolerances (서바이벌 네트워크 개념을 이용한 저자 식별 프레임워크: 의미론적 특징과 특징 허용 범위)

  • Hwang, Cheol-Hun;Shin, Gun-Yoon;Kim, Dong-Wook;Han, Myung-Mook
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.30 no.6
    • /
    • pp.1013-1021
    • /
    • 2020
  • Malware Authorship Attribution is a research field for identifying malware by comparing the author characteristics of unknown malware with the characteristics of known malware authors. The authorship attribution method using binaries has the advantage that it is easy to collect and analyze targeted malicious codes, but the scope of using features is limited compared to the method using source code. This limitation has the disadvantage that accuracy decreases for a large number of authors. This study proposes a method of 'Defining semantic features from binaries' and 'Defining allowable ranges for redundant features using the concept of survival network' to complement the limitations in the identification of binary authors. The proposed method defines Opcode-based graph features from binary information, and defines the allowable range for selecting unique features for each author using the concept of a survival network. Through this, it was possible to define the feature definition and feature selection method for each author as a single technology, and through the experiment, it was confirmed that it was possible to derive the same level of accuracy as the source code-based analysis with an improvement of 5.0% accuracy compared to the previous study.

A Study on the Visual System of Object - Oriented Based on Abstract Information (객체지향을 기반으로한 추상화 정보의 시각화 시스템에 대한 연구)

  • Kim, Haeng-Kon;Han, Eun-Ju;Chung, Youn-Ki
    • The Transactions of the Korea Information Processing Society
    • /
    • v.4 no.10
    • /
    • pp.2434-2444
    • /
    • 1997
  • As software industry progresses, the necessity of visual information have increased more than text-oriented information. So, automatic tools are required to satisfy a user's desire for visual design representation of various source information in the real-world. In this paper, we discuss the methodology and tools for parsing abstract information through semantic analysis and extracting visual information through visual mapping. Namely, as to abstract informations are represented as relational structure and then mapped into visual structure using regular rule, user can obtain visual information. We suggest VOLS(Visual Object Layout System) to transform a abstract information to visual information. It can improve user understandability and assist a maintenance for existing source code.

  • PDF

Reuse of Analysis/Design patterns Based on Analogy (Analogy를 기반으로 한 분석/설계 패턴의 재사용)

  • Kim, Jeong-A;Kim, Haeng-Gon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.4
    • /
    • pp.916-931
    • /
    • 1999
  • 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. In this paper, we present analogical matching techniques for the reuse of object models and patterns. We have suggested the design patterns as reusable components and the representation techniques to store them. The contents of the paper is as follows.1. analogical matching functions to retrieve analogous components from reusable libraries. 2. the representation of reusable components to be stored in the library in order to support the analogical matching. 3. the design library with more semantic informations about domains. 4. the analogical matching agent with a user-friendly interface that can retrieve the analogous components from the library based on analogical matching techniques.

  • PDF

Practical and Verifiable C++ Dynamic Cast for Hard Real-Time Systems

  • Dechev, Damian;Mahapatra, Rabi;Stroustrup, Bjarne
    • Journal of Computing Science and Engineering
    • /
    • v.2 no.4
    • /
    • pp.375-393
    • /
    • 2008
  • The dynamic cast operation allows flexibility in the design and use of data management facilities in object-oriented programs. Dynamic cast has an important role in the implementation of the Data Management Services (DMS) of the Mission Data System Project (MDS), the Jet Propulsion Laboratory's experimental work for providing a state-based and goal-oriented unified architecture for testing and development of mission software. DMS is responsible for the storage and transport of control and scientific data in a remote autonomous spacecraft. Like similar operators in other languages, the C++ dynamic cast operator does not provide the timing guarantees needed for hard real-time embedded systems. In a recent study, Gibbs and Stroustrup (G&S) devised a dynamic cast implementation strategy that guarantees fast constant-time performance. This paper presents the definition and application of a cosimulation framework to formally verify and evaluate the G&S fast dynamic casting scheme and its applicability in the Mission Data System DMS application. We describe the systematic process of model-based simulation and analysis that has led to performance improvement of the G&S algorithm's heuristics by about a factor of 2. In this work we introduce and apply a library for extracting semantic information from C++ source code that helps us deliver a practical and verifiable implementation of the fast dynamic casting algorithm.