programanalysis, verification and testing are important topics in programming languages and software engineering. They aim to produce engineers who are not only capable of empirically evaluating but, also formally re...
详细信息
ISBN:
(纸本)9798350329964
programanalysis, verification and testing are important topics in programming languages and software engineering. They aim to produce engineers who are not only capable of empirically evaluating but, also formally reasoning on the correctness of software systems. We propose a specialized framework, CHIRON, designed to teach graduate-level courses on these topics. CHIRON has a small code base for easy understanding, uses a unified intermediate representation across all its analysis modules, maintains a modular architecture for plugging in new algorithms and uses a "fun" programming language to provide a gamified experience. Currently, it packages a dataflow analysis engine for driving compiler optimizations, an abstract interpretation engine for verification, a symbolic execution engine, a fuzzer and an evolutionary test generator for programtesting, and a spectrum based statistical bug localization module. Within CHIRON, programanalysis tasks are posed in an unconventional setting (as adventures of a turtle) to provide a gamified experience;the accompanying animations (showing the movements of the turtle) allow the student to understand the underlying concepts better, and the detailed logs allow the teaching assistants in their grading activities. CHIRON has been used in two offerings of a graduate level course on programanalysis, verification and testing. In response to our survey questionnaire, all the students unanimously held the opinion that CHIRON was extremely helpful in aiding their learning, and recommended its use in similar
暂无评论