• Title/Summary/Keyword: 프로그램 도구

Search Result 2,209, Processing Time 0.055 seconds

Mutagen4J: Effective Mutant Generation Tool for Java Programs (Mutagen4J: 효과적인 Java 프로그램 변이 생성 도구)

  • Jeon, Yiru;Kim, Yunho;Hong, Shin;Kim, Moonzoo
    • Journal of KIISE
    • /
    • v.43 no.9
    • /
    • pp.974-982
    • /
    • 2016
  • Mutation analysis (or software mutation analysis) generates variants of a target program by injecting systematic code changes to the target program, and utilizes the variants to analyze the target program behaviors. Effective mutation analyses require adequate mutation operators that generate diverse variants for use in the analysis. However, the current mutation analysis tools for Java programs have limitations, since they support only limited types of mutation operators and do not support recent language features such as Java8. In this study, we present Mutagen4J, a new mutant generation tool for Java programs. Mutagen4J additionally supports mutation operators recently shown to generate various mutants and fully supports recent Java language features. The experimental results show that Mutagen4J generates useful mutants for analyses 2.3 times more than the existing Java mutation tools used for the study.

MPIRace-Check V 1.0: A Tool for Detecting Message Races in MPI Parallel Programs (MPIRace-Check V 1.0: MPI 병렬 프로그램의 메시지경합 탐지를 위한 도구)

  • Park, Mi-Young;Chung, Sang-Hwa
    • The KIPS Transactions:PartA
    • /
    • v.15A no.2
    • /
    • pp.87-94
    • /
    • 2008
  • Message races should be detected for debugging effectively message-passing programs because they can cause non-deterministic executions of a program. Previous tools for detecting message races report that message races occur in every receive operation which is expected to receive any messages. However message races might not occur in the receive operation if each of messages is transmitted through a different logical communication channel so that their incorrect detection makes it a difficult task for programmers to debug programs. In this paper we suggest a tool, MPIRace-Check, which can exactly detect message races by checking the concurrency between send/receive operations, and by inspecting the logical communication channels of the messages. To detect message races, this tool uses the vector timestamp to check if send and receive operations are concurrent during an execution of a program and it also uses the message envelop to inspect if the logical communication channels of transmitted messages are the same. In our experiment, we show that our tool can exactly detect message races with efficiency using MPI_RTED and a benchmark program. By detecting message races exactly, therefore, our tool enables programmers to develop reliable parallel programs reducing the burden of debugging.

A Detection Tool of First Races in OpenMP Programs with Directives (OpenMP 디렉티브 프로그램의 최초경합 탐지를 위한 도구)

  • Kang, Mun-Hye;Ha, Ok-Kyoon;Jun, Yong-Kee
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.37 no.1
    • /
    • pp.1-7
    • /
    • 2010
  • Detecting data races is important for debugging programs with OpenMP directives, because races result in unintended non-deterministic executions of the program. It is especially important to detect the first data races to occur for effective debugging, because the removal of such races may make other affected races disappear or appear. The previous tools for race detecting can not guarantee that detected races are the first races to occur. This paper suggests a tool what detects the first races to occur on the program with nested parallelism using the two-pass on-the-fly technique. To show functionality of this tool, we empirically compare with the previous tools using a set of the synthetic programs with OpenMP directives.

Effective Race Visualization for Debugging OpenMP Programs (OpenMP프로그램의 디버깅을 위한 효과적 경합 시각화)

  • 김금희;김영주;전용기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.13-15
    • /
    • 2004
  • OpenMP 프로그램에서 수행되는 스레드들간에 적절한 동기화 없이 적어도 하나의 쓰기 사건으로 동일한 공유변수에 접근하는 경우에 발생되는 오류인 경합은 비결정적인 수행결과를 초래하므로 디버깅을 위해서 반드시 탐지되어야 한다. 이러한 경합탐지를 위한 기존의 디버깅 도구는 프로그램의 복잡한 수행구조 및 디버깅 정보를 시각화하기 위한 공간이 제한적이므로 효과적인 시각화를 제공하지 못한다. 본 논문에서는 경합 시각화를 위해서 3차원적 시각화와 스레드 및 이벤트 둥의 추상화 기능으로 공간적 제약성을 해결하는 도구를 제안한다. 제안된 도구는 추상적 시각화 정보를 제공하므로 프로그램의 이해가 용이하고 효과적인 경합디버깅 환경을 제공한다.

  • PDF

지구과학교사의 학생 평가 전문성 자기진단 프로그램 개발

  • Kim, Dong-Yeong;An, Hui-Su
    • 한국지구과학회:학술대회논문집
    • /
    • 2005.09a
    • /
    • pp.213-219
    • /
    • 2005
  • 본 연구에서는 교사의 전문성 영역의 한 부분인 학생 평가 전문성을 교사 스스로 진단해 보고 진단 결과에 대해 적절한 처방을 제공받을 수 있는 교사의 학생 평가 전문성 자기진단 프로그램을 개발하고자 하였다. 이를 위해 선행 연구와 문헌 조사를 통해 교사의 학생 평가 전문성을 구성하는 요인을 규명하고 이를 범주화하여 학생 평가 전문성 진단 도구를 구안하였다. 교사의 학생평가 전문성 구성 요인은 1990년에 미국의 AFT(American Federation of Teacher), NEA(National Education Association), NCME(National Council on Measurement in Education)가 공동으로 발표한 ‘학생 평가를 위한 교사의 평가전문성 기준(Standards for teacher competence in Educational Assessment of Student)’ 7가지를 연구자가 진단 도구 개발에 적합하도록 ${\circled1}$평가 방법의 선정, ${\circled2}$평가 도구의 개발, ${\circled3}$평가 실시?채점 및 성적 부여, ${\circled4}$평가 결과의 해석?분석?활용?의사소통의 4개 영역으로 재구성하였다. 진단도구를 개발하는데 있어서는 전문성 구성 요인별로 설문 형식의 질문에 답하고 이를 종합하여 점수를 매기는 방식보다는 구체적인 상황과 사례를 제시하고 이에 대해 평가를 해보게 하는 방식을 이용하여 평가 능력을 실질적으로 진단할 수 있게 하는데 초점을 맞추었다. 개발된 프로그램은 교사가 외부로부터 평가 받는데 소극적인 점을 감안하여 교사 스스로 자기를 진단할 수 있는 도구를 제공하고자 했으며, 진단 도구를 통해 밝혀진 결과에 대해 처방이나 안내를 함께 제공하여 교사가 자신의 평가 전문성을 제고하는데 보다 적극적으로 나설 수 있도록 도울 수 있는 프로그램으로 개발하려 하였다. 또한 이 프로그램을 교사가 활용하는 과정에 대한 조사 연구를 통해 궁극적으로는 교사의 학생 평가 전문성 신장을 위해 필요한 외부 지원이 무엇인지 추출하고 이러한 지원 체계와 교사가 능동적으로 이어질 수 있는 방안을 모색해 보고자 한다.

  • PDF

A Design of the Parser Generator using Graphic Components (그래픽 요소를 사용한 파서 제작 도구의 설계)

  • 정호욱;최종명;유재우
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.397-399
    • /
    • 1999
  • 프로그램을 개발하다보면 많은 분야에서 파싱 작업을 필요로 하게 된다. 이러한 필요에 의해 개발되는 파서는 Lex와 Yacc과 같은 도구에 의해 생성되는 경우도 있지만, 도구의 사용이 어렵기 때문에 프로그램으로 직접 작성하는 경우도 많다. GUI 방식으로 아이콘을 이용해서 파서를 작성할 수 있다면, 파서를 필요로 하는 많은 프로그램 개발에서 손쉽게 사용될 수 있을 것이다. 이 논문에서는 아이콘을 이용해서 파서를 생성할 수 있는 방법에 대해 기술하고 있다.

  • PDF

Design of a Supporting Tool for Simplifying Static Program Analysis Process (정적 프로그램 분석 과정을 단순화하기 위한 지원 툴 설계)

  • 윤준호;이병정;우치수
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.04c
    • /
    • pp.19-21
    • /
    • 2003
  • 정적 프로그램 분석기는 프로그램의 결점을 찾아내는 초기 목적에서 진화하여, 역공학. 재공학. 메트릭 검증 등 도구의 front-End 모듈로 많이 쓰이고 있다. 이에 대한 다양한 연구가 진행되고 있고. 또 많은 관련 도구들이 소개되었지만, 사용자가 생각을 직접 코드형태로 구현하고, 결과를 모델형태로 표현하여, 시험하고 검증할 수 있도록 도와주는 프레임웍 수준 도구들은 거의 나와있지 않다. 본 논문에서는 정적 프로그램 분석을 쉽게 할 수 있도록 지원하는 기반도구의 설계를 제안한다. 본 연구에서는 언어의 파싱과 시각화 과정의 반복되는 작업들을 추상화하고, 분석 코드를 파싱 코드와 분리함으로써 사용자로 하여금 분석 과정에 집중할 수 있도록 도와준다.

  • PDF

A Case Study on Detection of Races in Flight Control Software of Unmanned Aerial Vehicle (무인기 비행제어 소프트웨어를 위한 경합탐지 사례연구)

  • Lee, Byoung-Kwi;Kang, Mun-Hye;Jun, Yong-Kee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06b
    • /
    • pp.79-82
    • /
    • 2011
  • 무인기용 비행제어 소프트웨어는 인터럽트 핸들러에서 비결정적인 수행결과를 조래하는 경합이 발생될 수 있다. 이러한 유형의 경합을 탐지하기 위한 기존 방법은 원시 프로그램의 인터럽트 핸들러를 스레드로 변환하여 정적 경합탐지 도구를 사용하므로 프로그램 수행 시 실제 발생하지 않는 부정확한 경합(false positives)를 보고한다. 본 연구는 부정확한 경합 보고를 줄이기 위해서 원시 프로그램을 POSIX 실시간 스레브 프로그램으로 변환하고 Lockset기반 탐지기법 의해서 탐지된 공유변수를 대상으로 Happens-before 관계 분석기법을 이용하여 경합을 탐지하는 동적 경합탐지 도구를 사용한다. 제시된 방법의 실험을 위해서 Knob Assembly에 탑재되는 비행제어 소프트웨어를 대상으로 정적 경합탐지 도구와 동적 경합탐지 도구의 경합탐지 결과를 비교 분석한다.

An Analysis of Race Detection Tool for OpenMP Programs (OpenMP 프로그램을 위한 경합탐지 도구의 분석)

  • 김영주;강문혜;전용기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.10a
    • /
    • pp.478-480
    • /
    • 2003
  • 공유메모리 기반의 OpenMP 프로그램에서 발생하는 경합은 의도하지 않은 비결정적 수행 결과를 초래하므로 효과적으로 경합을 탐지하는 도구가 필요하다. 본 연구는 OpenMP 프로그램의 경합탐지를 위한 Intel 사의 Thread Checker를 내포병렬성의 여부와 접근사건들의 분포 형태를 기준으로 개발한 커널프로그램 집합을 이용하여 분석한 결과로서, 스레드들을 순서적으로 수행하면서 내포된 스레드를 부모 스레드와 동일한 스레드로 간주하고 적어도 하나의 읽기와 쓰기 접근사건들을 유지하면서 수행중에 경합을 탐지하는 도구임을 보인다. 이 도구는 접근사건의 발생 시에 이전 접근사건들과의 경합 여부를 검사한 후에 그 접근사건의 유지 여부를 결정하므로, 논리적 병행성 관계를 반영하지 못하는 내포된 스레드가 존재하지 않으면 경합의 존재를 검증한다.

  • PDF

Development of a Data Analysis Program Using a Data Analysis Competition for Primary School Students (초등학생을 위한 데이터 분석대회를 활용한 데이터 분석 프로그램 개발)

  • HakNeung Go;JaeRi Jeong;Youngjun Lee
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2024.01a
    • /
    • pp.471-472
    • /
    • 2024
  • 본 논문에서는 초등학생을 위한 데이터 분석 대회를 활용한 데이터 분석 프로그램을 개발하였다. 데이터 분석 프로그램은 ADDIE 모형에 개발하였다. 분석 단계에서 G초등학교 학생들의 데이터 분석 도구인 스프레드 시트를 학습한 경험이 적고 배우고자 하는 동기가 없었다. 하지만 교육과정에서 공학도구로 활용하도록 제시되어 있다. 이를 바탕으로 디자인 학생들이 스프레드 시트를 학습할 수 있는 프로그램과 이를 실습할 수 있는 데이터 분석 대회를 디자인 하였다. 개발 단계에서는 LMS를 활용하여 학생들에게 학습을 위한 데이터를 제공하고 학습하며, 데이터 분석 대회에서는 학습한 데이터와 문제만 제공하여 대회에 참여하면서 실습할 수 있는 기회를 제공하였다. 평가 도구로는 데이터 리터러시 평가 도구를 선정하였다.

  • PDF