Top > Search Research paper > (In Japanese)計算状態パーソナル・スクラップブック

(In Japanese)計算状態パーソナル・スクラップブック

Research report code R040000105
Posted date May 18, 2007
  • (In Japanese)Richard L. Potter
  • (In Japanese)東京大学大学院情報理工学系研究科
Research organization
  • (In Japanese)東京大学
Report name (In Japanese)計算状態パーソナル・スクラップブック
Technology summary (In Japanese)The goal of this research is to investigate new programming tools that work by saving and restoring intermediate computation state. The same basic idea has brought important benefits to other types of tools and applications. Scientific and other distributed applications can benefit by saving an application in mid-execution and moving it to a machine with more resources. Other applications gain fault tolerance by saving application state for rolling back to a safe checkpoint in case of hardware or software failures. However, few benefits have been explored for programming tools that can save and restore the computation state of a program under development. One reason to expect benefits is that quick initialization of programs in mid-execution can make it possible to focus programming tools and programmer attention in new creative ways. People who are learning new programming skills can benefit because it allows a wider range of techniques to be applied to a program that has been subdivided into more manageable pieces. An additional general benefit isthat program state can be enumerated more efficiently and methodically, which enables model checking on actual implementations. The questions for this research are what tools can make these potential benefits practical for actual programming activity and what infrastructure will make these tools easy to implement. Tools based on Computation Scrapbooks have potential to be simple because it is simple and increasingly practical to copy computation state. It is conceptually simple because, like photo copying complex information on a sheet of paper, it is not necessary to understand the information to easily copy it. Copying computation state is practical because hard disk sizes and processor speeds are fast enough to copy realistic computation state quickly. The challenge of this research is to demonstrate that Computation Scrapbooks can be both useful and practical without adding too much complexity to the simple core functionality that copies the computation state. Thus it is important to distinguish between the core functionality, which is well defined and clearly practical, and the extended functionality, which may be less well defined and only be possible for certain special cases. The approach of the research has been to create two systems. The first system is for fast prototyping various Computation Scrapbook based tools. It has limited core functionality, but is flexible for exploring the various types of extended functionality necessary to support the tools. The second system is designed for actual use by real users. It has more rigorous core functionality that is general, however the range of extended functionality and tools is less than the first system. The name “Computation Scrapbook” represents the core infrastructure itself, and is intended to convey that multiple snapshots of computation state are saved and used in creative ways. It encompasses functionality to save, organize, and restore snapshots of computation state. To support programming tools, a Computation Scrapbook must support thread persistence, because use in programming tools requires checkpointing at a fine granularity and therefore the stack states must be preserved. Also, multiple persistent snapshots will be required for several of the programming tools.
Research field
  • Computer software in general
  • System programmings in general
Published papers related (In Japanese)(1) O. Sato, R. Potter, M. Yamamoto, and M. Hagiya, UMLスクラップブックとスナップショットプログラミング環境の実現,Linux Conference 2003
(2) R. Potter and Y. Harada, Additional Context for Gentle-Slope Systems, IEEE Symposia on Human-Centric Computing Languages and Environments (HCC 2003)
(3) R. Potter and M. Hagiya, Computation Scrapbooks for Software Evolution, Fifth International Workshop on Principles of Software Evolution (IWPSE 2002)
(4) R. Potter, Computation Scrapbooks of Emacs Lisp Runtime State, 第43回プログラミング・シンポジウム
(5) R. Potter, Computation Scrapbooks of Elisp Runtime State, IEEE Symposia on Human-Centric Computing Languages and Environments (HCC 2001)
(6) R. Potter, Computation Scrapbooks, 第4回プログラミングおよび応用システムに関するワークショップ (SPA2001)
Research project
  • Precursory Research for Embryonic Science and Technology.;Information and Systems
Information research report
  • (In Japanese)Richard L. Potter. Personal Scrapbooks for Computation State. 「さきがけタイプ」「機能と構成」領域 研究報告会講演要旨集(研究期間2000-2003),2003. p.45 - 51.