In recent years, the performance of SAT solvers have been enormously improved and its applications are enlarged in various domains. However, SAT solvers are not adequate to directly solve problems such as the one including arithmetic constraints which has many realistic applications since the input of SAT solvers is propositional formulae of conjunction normal form. Therefore, there have been researches for systems extending and/or utilizing SAT solvers so that these can adopt more rich expressions. In this paper, we explain one of such systems—SAT-based constraint programming systems which are the integration of the performance of SAT solvers and the rich expressions of constraint programming systems. We also briefly explain related technologies of SAT-based constraint programming systems.
There have been a number of studies using the approaches of game theory in designing cryptographic primitives and protocols. This article describes how game theory is used in cryptographic research. In particular, we explain rational players in cryptographic protocols, characterizations of security notions by equilibrium concepts, and delegation of computation using reward.
Development teams benefit from version control systems, which manage shared access to code repositories and persist entire project histories for analysis or recovery. Such systems will be efficient if developers commit coherent and complete change sets. These best practices, however, are difficult to follow because multiple activities often interleave without notice and existing tools impede unraveling changes before committing them. We propose an interactive, graphical tool, called THRESHER, that employs adaptable scripts to support developers to group and commit changes—especially for fine-granular change tracking where numerous changes are logged even in short programming sessions. We implemented our tool in Squeak/Smalltalk and derived a foundation of scripts from five refactoring sessions. We evaluated those scripts' precision and recall, which indicate a reduced manual effort because developers can focus on project-specific adjustments. Having such an interactive approach, they can easily intervene to accurately reconstruct activities and thus follow best practices.
There are several well-known techniques for proving non-regularity of a given language, e.g., Myhill-Nerode theorem or Pumping lemma. In this paper, we propose a new technique for proving non-regularity that is completely different from all previously known techniques. Our technique is based on a measure of a language, and provides a geometric intuition for the non-regularity. We demonstrate, with a few examples, the usefulness of our technique. Further, we pose some future work and conjectures which generalize our technique.