Currently, programming instructors continually face the problem of helping to debug students' programs. Although there currently exist a number of debuggers and debugging tools in various platforms, most of these projects or products are crafted through the needs of software maintenance, and not through the perspective of teaching of programming. Moreover, most debuggers are too general, meant for experts as well as not user-friendly. We propose a new knowledge-based automated debugger to be used as a user-friendly tool by the students to self-debug their own programs. Stereotyped code (cliche) and bugs cliche will be stored as library of plans in the knowledge-base. Recognition of correct code or bugs is based on pattern matching and constraint satisfaction. Given a syntax error-free program and its specification, this debugger called Adil (Automated Debugger in Learning system) will be able locate, pinpoint and explain logical errors of programs. If there are no errors, it will be able to explain the meaning of the program. Adil is based on the design of the Conceiver, an automated program understanding system developed at Universiti Kebangsaan Malaysia.
Designing blockchain-based applications is a tedious task. Compared to traditional software engineering, software architects cannot rely on previous experiences or proven practices, often formalized as software patterns. Also, the selection of an adequate blockchain technology is difficult without deep knowledge of the technology. This paper introduces Harmonica, a framework for the design and implementation of a blockchain-based application. This framework is divided in three parts: a decision-making engine to recommend a blockchain technology and blockchain-based software patterns relying on…
ARCEAK: An Automated Rule Checking Framework Enhanced with Architectural Knowledge
Shanghai Jiao Tong University(上海交通大学);Beijing University of Civil Engineering and Architecture(北京建筑大学);East China Architectural Design & Research Institute(华东建筑设计研究院)