• Title/Summary/Keyword: 검증반례 분석

Search Result 6, Processing Time 0.019 seconds

Isolating Cause of Error in a Counterexample (반례를 이용한 프로그램의 오류 원인 탐지 기법)

  • Shin Mo-Bum;Bang Ho-Jung;Kim Tai-Hyo;Deok Cha-Sung
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.06c
    • /
    • pp.142-144
    • /
    • 2006
  • 모델 체킹(model checking)은 자동으로 소프트웨어의 속성을 검증하는 기법으로 그 필요성이 꾸준히 증가하고 있다. 시스템이 특정 속성(property)을 만족하지 않는 경우 모델 체커는 반례(Counterexample)를 생성하게 된다. 반례는 오류가 발생한 원인을 담고 있는 정보로서 오류를 이해하고 수정하는 작업에 많은 도움을 준다. 하지만 반례가 너무 길거나 이해하기 어려운 경우에는 분석에 많은 시간과 자원이 소요되기도 한다. 따라서 자동적으로 반례 안의 오류를 찾아내고 설명을 제공하는 기법의 필요성이 대두되고 있다. 본 논문에서는 추상모델(abstract model)에서 생성된 반례의 오류의 원인을 밝히는 자동화 기법을 제시한다.

  • PDF

MOdel-based KERnel Testing (MOKERT) Framework (모델기반의 커널 테스팅 프레이뭐크)

  • Kim, Moon-Zoo;Hong, Shin
    • Journal of KIISE:Software and Applications
    • /
    • v.36 no.7
    • /
    • pp.523-530
    • /
    • 2009
  • Despite the growing need for customized operating system kernels for embedded devices, kernel development continues to suffer from insufficient reliability and high testing cost for several reasons such as the high complexity of the kernel code. To alleviate these difficulties, this study proposes the MOdel-based KERnel Testing (MOKERT) framework for detection of concurrency bugs in the kernel. MOKERT translates a given C program into a corresponding Promela model, and then tries to find a counter example with regard to a given requirement property, If found, MOKERT executes that counter example on the real kernel code to check whether the counter example is a false alarm or not, The MOKERT framework was applied to the Linux proc file system and confirmed that the bug reported in a ChangeLog actually caused a data race problem, In addition, a new data race bug in the Linux proc file system was found, which causes kernel panic.

A Formal Verification Technique for PLC Programs Implemented with Function Block Diagrams (함수 블록 다이어그램으로 구현된 PLC 프로그램에 대한 정형 검증 기법)

  • Jee, Eun-Kyoung;Jeon, Seung-Jae;Cha, Sung-Deok
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.3
    • /
    • pp.211-215
    • /
    • 2009
  • As Programmable Logic Controllers (PLCs) are increasingly used to implement safety critical systems such as nuclear instrumentation & control system, formal verification for PLC based programs is becoming essential. This paper proposes a formal verification technique for PLC program implemented with function block diagram (FBD). In order to verify an FBD program, we translate an FBD program into a Verilog model and perform model checking using SMV model checker We developed a tool, FBD Verifier, which translates FBD programs into Verilog models automatically and supports efficient and intuitive visual analysis of a counterexample. With the proposed approach and the tool, we verified large FBD programs implementing reactor protection system of Korea Nuclear Instrumentation and Control System R&D Center (KNICS) successfully.

Automatic Programming-Error Detection by Plan Matching and Program Execution (플랜정합과 프로그램 실행을 통한 프로그래밍 오류분석에 관한 연구)

  • Song, Jong-Soo;Lim, Soon-Bum
    • Journal of Korea Multimedia Society
    • /
    • v.7 no.7
    • /
    • pp.985-997
    • /
    • 2004
  • In this paper, an automatic programming error-diagnosing system is provided for novice C programmers by plan matching and program execution. Program execution results are used to provide flexibility in describing the relationship between programming plans, to verify the correctness of the plan matching differences, and to detect the influence of a plan's error to the related plan. We can give easy and informative explanations to the students according to a plan's error and the resulting effects to related plans. The students are consulted to check their program's correctness with the given test data. Our error-diagnosing system is tested with student's programs for the 14 various and difficult problems and gives acceptable recognition results.

  • PDF

A Study of Knowledge Representation for Effective Programming Error Detection (효과적인 프로그래밍 오류분석을 위한 지식표현연구)

  • 송종수;송두헌
    • Journal of the Korea Computer Industry Society
    • /
    • v.4 no.10
    • /
    • pp.559-570
    • /
    • 2003
  • Automation of programming-error detection is an important part of intelligent programming language tutoring systems. In this paper, a new programming error detection approach for novice programmers is proposed by plan matching and program execution. Program execution result is used to resolve the restricted programming plan representation and to provide a confirming evidence for the plan matching differences. By checking the values of shared variable between the related plans, we can detect the cause-effect relationship between the plans. With this relationship and the test data, we can explain the program's unexpected behaviors according to the bug's cause and resulting effects.

  • PDF

Analysis of Inductive Reasoning Process (귀납적 추론의 과정 분석)

  • Lee, Sung-Keun;Ryu, Heui-Su
    • School Mathematics
    • /
    • v.14 no.1
    • /
    • pp.85-107
    • /
    • 2012
  • Problem solving is important in school mathematics as the means and end of mathematics education. In elementary school, inductive reasoning is closely linked to problem solving. The purpose of this study was to examine ways of improving problem solving ability through analysis of inductive reasoning process. After the process of inductive reasoning in problem solving was analyzed, five different stages of inductive reasoning were selected. It's assumed that the flow of inductive reasoning would begin with stage 0 and then go on to the higher stages step by step, and diverse sorts of additional inductive reasoning flow were selected depending on what students would do in case of finding counter examples to a regulation found by them or to their inference. And then a case study was implemented after four elementary school students who were in their sixth grade were selected in order to check the appropriateness of the stages and flows of inductive reasoning selected in this study, and how to teach inductive reasoning and what to teach to improve problem solving ability in terms of questioning and advising, the creation of student-centered class culture and representation were discussed to map out lesson plans. The conclusion of the study and the implications of the conclusion were as follows: First, a change of teacher roles is required in problem-solving education. Teachers should provide students with a wide variety of problem-solving strategies, serve as facilitators of their thinking and give many chances for them ide splore the given problems on their own. And they should be careful entegieto take considerations on the level of each student's understanding, the changes of their thinking during problem-solving process and their response. Second, elementary schools also should provide more intensive education on justification, and one of the best teaching methods will be by taking generic examples. Third, a student-centered classroom should be created to further the class participation of students and encourage them to explore without any restrictions. Fourth, inductive reasoning should be viewed as a crucial means to boost mathematical creativity.

  • PDF