The practical value of research involving the abstract interpretation of Prolog programs was examined experimentally. The design and implementation of the generic abstract interpretation algorithm originally proposed ...
详细信息
ISBN:
(纸本)0818625856
The practical value of research involving the abstract interpretation of Prolog programs was examined experimentally. The design and implementation of the generic abstract interpretation algorithm originally proposed by B. Le Charlier (1991), its instantiation in a sophisticated abstract domain containing modes, types, sharing, and aliasing, and its evaluation in terms of performance and accuracy are described. The overall implementation (over 5000 lines of Pascal) was systematically analyzed on a variety of programs. The experimental results, given the abstract domain and the programs analyzed, indicate that (1) the number of iterations of the algorithm is bounded by 7.5 × N and is in most cases smaller than 3 × N, where N is the size of the analyzed program (e.g., the number of program points);(2) the CPU time in seconds is bounded by N and is in most cases smaller than 0.6 × N;(3) the algorithm explores few elements (less than 11% and often none) outside the subset of the fixpoint required to answer the query and hence is close to optimality;and (4) the results are quite accurate and could be used in a Prolog compiler.
The AlgorithmA project has been in existence since 1991 and is used as an on-going project in the software engineering class taught at CSUSB. In 1998, the project was first implemented on the Internet using Java. In 2...
详细信息
The AlgorithmA project has been in existence since 1991 and is used as an on-going project in the software engineering class taught at CSUSB. In 1998, the project was first implemented on the Internet using Java. In 2007, the maintenance of the project was a big challenge because of the size of the project and the complexity of the architectural design. This paper talks about the decision process of the software engineering class that led to the re-engineering of the entire AlgorithmA project, which is a situation that actually happens in a real software company. The observations and experiences of the project manager, the team leader of the maintenance team, and the team leader of the Java team that implemented the re-design of the project, are discussed in this paper. In 2008, the project was continued by forward engineering the original functions of AlgorithmA. The re-design followed the Model/View/Controller (MVC) model and using the Observer and Factory patterns, made the AlgorithmA project maintainable and extensible for many more years to come.
A tutoring system typically contains a domain expert, a student model, a pedagogical expert and the user interface. We will discuss the design and implementation of DSTutor, a tutoring system for denotational semantic...
详细信息
SKILL is a programminglanguage that supports both command entry and procedural customization in OpusTM design FrameworkTM. After briefly considering some related work, we examine the requirements that motivate the pr...
ISBN:
(纸本)9780897913638
SKILL is a programminglanguage that supports both command entry and procedural customization in OpusTM design FrameworkTM. After briefly considering some related work, we examine the requirements that motivate the provision of a programminglanguage available to the user and describe some of the technical characteristics of the languagedesign and implementation. Finally, we describe our experience with the language and outline future work. A number of programming examples are appended.
暂无评论