In Web application development, frameworks are frequently used to make the development efficiency. This paper describes several merits and issues derived from the use of such frameworks. With product data obtained through development in a real project, we show that these issues appear as a gap between application design and its implementation.
This paper discusses recent studies on technologies or supporting software construction and maintenance by analyzing various software engineering data. We also introduce typical data mining techniques for analyzing the data.
SAT/SMT solvers are currently attracting attentions as convenient backyard engines of many kinds of formal verification/analysis tools. In this article, we explain the current status of those solvers including basic concepts, technical principles, and their useful applications. Technology of SAT solver has great progress in the last decade, and the new technology called SMT solver is also emerged as an influence of them. In the article, we positions these technologies with respect to the relation of formal methods.
I learned law in the law school of the University of Tokyo for three years from 2006 in order to seek the real application of logical foundations of Artificial Intelligence. This paper reports some achievements by amalmagating legal knowledge obtained from the law school and logic/logic programming which I have been studying for twenty years and proposes promising research theme in legal reasoning and AI field.
The goal of our research is to give a verified abstract machine for the λ-calculus with delimited continuation constructs, shift and reset, and ultimately to give a formal foundation for the direct implementation of shift/reset in the machine language. Toward this goal, we derive an abstract machine and transition rules from the CPS interpreter defining shift/reset, using a series of transformations whose correctness is already proved. Following the “functional correspondence” approach advocated by Danvy, we first perform the CPS transformation and defunctionalization. Unlike the previous approach, however, we formally introduce two new transformations, stack introduction and environment storing, to turn the interpreter closer to the actual implementation. In this article, we show outline and validity of the two transformations. As a result, we obtain an abstract machine that stores bindings in the stack from the original CPS interpreter using validated transformations only. In the future, after additional transformations, we expect that this abstract machine is turned into a virtual machine, which is similar to the existing machine language implementation.
High quality requirements definition needs knowledge regarding how to elicit, represent, verify and validate requirements specification. Although experienced requirements engineers possess such knowledge, it is usually neither explicitly represented nor shared. In this paper, we propose a method for eliciting and representing requirements definition knowledge. We have analyzed requirements specification of successful system development projects and interviewed experienced engineers, extracted and specified four kinds of knowledge: a requirements specification meta model, requirements specification templates, and requirements definition verification rules for product and process.
We have developed an interpretation of modal μ-calculus using min-plus algebra N∞, the set of all natural numbers and infinity ∞. Disjunctions are interpreted by min, and conjunctions by plus. This interpretation allows complex properties, such as the shortest path on a Kripke structure or the number of states that satisfy a specified condition, to be expressed with simple formulas. We defined the semantics of modal μ-calculus on min-plus algebra, and then described a model-checking algorithm for the semantics and its implementation. Although simple iterative computation of the least fixed-point generally does not terminate in N∞, due to abstraction, we made model-checking possible by reducing the least fixed-point computation to the greatest fixed-point computation. Finally, we discuss the relationship between our semantics and the theory of Kripke structures on complete Heyting algebra.