• Title/Summary/Keyword: program slicing

Search Result 42, Processing Time 0.046 seconds

An Algorithm for Integrating Versions of Programs using Dynamic Slicing (동적 슬라이싱 기법을 이용한 프로그램 버전들의 통합 알고리즘)

  • Park, Sun-Hyeong;Jeong, Eun-Lee;Park, Man-Gon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.3
    • /
    • pp.831-841
    • /
    • 2000
  • For the operation of the practical software systems, the development, extension and modification phases are successively needed through the new requirements added and their errors debugging detected. Therefore, if it is possible to integrated the reusable software components and to reorganize them into the new software systems, we can improve the productivity, quality, and cost-effectiveness for he development of software systems. For these reasons, it will be required to research and develop methodology and tools for programs integration which make some programs merged effectively. In the process of merging two versions of a program into one, we can consider that some parts of the two versions are equivalent under the non-interference between them. According to the previous studies the program selected to determine the criterion of non-interference between them. According to the previous studies the program selected to determine the criterion of non-interference was very large, so we have difficulty in integrating many programs practically. In this paper, we propose a new improved algorithm which can reduce the related program size of non-interference criterion yb use of dynamic slicing techniques for integration of two versions of a program, and prove the efficiency of the proposed algorithm by showing some examples.

  • PDF

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

Static Slicing of First-Order Functional Language based on Operational Semantics (오퍼레이셔널 의미에 기반한 일차 함수형 언어의 정적 분할)

  • Ahn, Joon-Seon;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.8
    • /
    • pp.877-885
    • /
    • 2000
  • Static slice means a set of parts of a program that potentially affect the values computed at a slicing criterion considering all the possible input values. In this paper, we have formally defined static slice of a first-order functional language based on operational semantics. And, we have presented a sound method to analyze static slice using abstract interpretation.

  • PDF

Dependence Graph Creation of C Program (C 프로그램의 의존성 그래프 생성)

  • Kim, Yong-Ho;Shin, Seung-Cheol
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.961-963
    • /
    • 2005
  • 의존성 그래프는 컴파일러 최적화 분야에서 도입되어 유용하게 사용되고 있으며 프로그램 자르기(program slicing) 분야 등 활용가치를 높여가고 있는 프로그램 표현 방식이다. 우리는 실제적인 C 프로그램의 의존성 그래프를 생성하는 시스템을 구현하였으며 본 논문에서는 의존성 그래프의 개념과 구현과정을 설명한다.

  • PDF

A Study on the Optimization of C++ Program Using the Class Hierarchies Slicing (클래스 계층구조 슬라이싱을 이용한 C++프로그램 최적화에 관한 연구)

  • Kim, Un-Yong;Jeong, Gye-Dong;Choe, Yeong-Geun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.6
    • /
    • pp.1542-1555
    • /
    • 1999
  • This paper proposes an algorithm for class hierarchies which can optimize member data and member function. This algorithm considers single/multiple inheritance, static/dynamic binding, overloading/overriding, pure virtual/virtual function, and constructor on the hierarchy of C++ class. We need to eliminate unused function that possesses many component element, because the program uses a limited of function in class hierarchies. Previous works on slicing mainly focused on selecting output data and including the related program statement. It was consists of structured programming language and also centralized on error detection, maintenance, and flexible testing. In this paper, we extend to the object-oriented language, makes a linked-table for objects to raise the efficiency of information management, and proposes necessary algorithm for optimizing system Through this process, we can obtain the simplification of program code and the progress of system performance by eliminating unused member data and member function.

  • PDF

A Study on the Efficient Program Integration using Data Flow Analysis Method (자료 흐름 분석 기법을 이용한 효율적인 프로그램 통합에 관한 연구)

  • Park, Soon-Hyung
    • 한국IT서비스학회:학술대회논문집
    • /
    • 2008.11a
    • /
    • pp.337-340
    • /
    • 2008
  • To take the re-use of software, we need to study the efficient integration method of source programs. When the source programs are merged, it is required the steps of verification for any non-interference on non-identical parts of them. The traditional techniques of the program integration verify non-interference of source programs through the simple comparison of statements of source programs. We propose the efficient integration method using data flow analysis in the programs. A study comparing test results from the traditional method and the proposed method has found that the proposed method is more efficient than the traditional method.

  • PDF

A Study on Development of Design Support Tool for Building 3D Printing (건축물 3D 프린팅 설계지원도구 개발에 대한 연구)

  • Park, Hyung-Jin;Seo, Myoung-Bae;Ju, Ki-Beom
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.20 no.12
    • /
    • pp.182-189
    • /
    • 2019
  • 3D printing technology is changing the paradigm of consumer-oriented design in supplier-oriented mass production. 3D printing technology in construction is expected to be able to replace existing wet methods along with modular construction. Recently, a number of cases of building construction using 3D printing using mortar-based materials have been announced in many regions, including North America, Europe, and Asia. In this study, we developed a design support tool with a slicing function to output 3D modeling for architecture for a 3D printing machine. We analyzed the process and the function of slicing programs that are commercially available. Seven slicing functions required for the architectural field were derived by analyzing cases, expert reviews, and related literature. The derived functions were extended from the slicing functions to develop the design support tools. Detailed algorithms and processes need to be developed for future derived functions.

Program Slicing in the Presence of Complicated Data Structure (복잡한 자료 구조를 지니는 프로그램에 대한 슬라이싱)

  • 류호연;강원임;박재홍
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.557-559
    • /
    • 1999
  • 프로그램 슬라이싱은 프로그램의 특정 문장에서 변수에 영향을 주는 문장들을 분해하는 방법으로 디버깅, 최적화, 프로그램 유지보수, 테스팅, 재사용 부품 추출 그리고 프로그램 이해를 포함하는 여러 응용 분야들에서 그 유용성을 확인할 수 있다. 본 논문은 포인터 변수와 포인터 변수에 의해 참조되는 동적 객체, 구조체, 배열을 포함하는 프로그램에 대한 정확한 슬라이스 생성에 관한 연구이다. 포인터 변수와 같은 복잡한 구조를 가지는 프로그램에서 포인터 변수나 포인터 변수가 참조하는 객체의 상태를 파악하기 위해서 객체 참조상태 그래프를 제시한다.

  • PDF

Assessment of Cancellous Bone of Mandible by Multifunctional Panoramic X-Ray Machine (다기능 파노라마 방사선촬영장치를 이용한 하악해면골질의 평가)

  • Ko Jae-Kyung;Kim Jae-Duk
    • Imaging Science in Dentistry
    • /
    • v.30 no.1
    • /
    • pp.16-22
    • /
    • 2000
  • Purpose : To evaluate the bone densities measured on copper-equivalent image of cross sectional view of mandibular edentulous premolar area obtained by multifuctional panoramic x-ray machine, PM 2002 CC with transversal slicing system. Materials and Methods: Panoramic cross sectional views with 8 mm focal layer of aluminum step and blocks, of hydroxyapatite (RA) step, 6 HA blocks and copper step wedge having 0.03 mm thickness of each step, and of 3 bone blocks cutted by 8 mm thickness mesiodistally and a dry mandible with copper step wedge were taken by using transversal slicing system in PM 2002 Cc. All reference-equivalent images were made and analyzed by NIH image program. Results: The average copper-equivalent value of cancellous bone of bone blocks on the panoramic cross sectional view was 0.026 ± 0.020 mm Cu. The calculated average bone density was 0.38g/cm². There was no significant difference (P>0.1) between the bone densities on intraoral digital view and on the panoramic digital cross sectional view. Conclusion: The copper-equivalent image of panoramic digital cross sectional view obtained by PM 2002 CC with very thin copper step wedge was supposed to be useful to measure the bone density of cancellous bone of mandible at the premolar edentulous area.

  • PDF

Class Slicing Method using Program Dependency Graph in C++ (C++에서 프로그램 의존도 그래프를 이용한 클래스 분해 방법)

  • 김영선;김홍진;손용식
    • Journal of the Korea Society of Computer and Information
    • /
    • v.3 no.1
    • /
    • pp.63-80
    • /
    • 1998
  • In object-oriented software development, reuse has been studied for the enhancement of software quality and software developer's productivity. But improper modeling in design phase and uncontrolled change during maintenance activities have a problem to reuse a class. In this paper we analyze a semantic cohesion of classes using C++ Program dependency graph, and slice a class with cohesion, so that this method supports the re-estimate of class quality and the extensibility of class. Therefore this proposed method in this paper increases the easibility of the restructuring in the reusable systems, when the developer selects a requested component for a object-oriented program development.

  • PDF