Page 101 - untitled
P. 101
ጒڦϓ
Mu, Shin-Cheng Ӻᔊʧ Research Description
Research Description
Ӻᔊʧ
Ңٙ˴ࠅӺጳሳܼ̍όႧԊၾՌᅰႧԊd My main interest includes programming lan- exploit program inversion techniques for XML edit-
guages and functional programming, especially ing and processing.
ˈՉ݊˾ᅰόeᗫڷόٙόપኬfܼͦ̍ algebraic and relational approach to program deriva-
Bi-directional updating:
tion. More specific research topics include:
όપኬj Consider this scenario: some source data,
Program derivation: usually a tree, a list, or other data structure, is
͟ӻ୕ࣸપစ̈όٙ˙جfஷ੬ҢࡁҪӻ
The art of deriving a program from its speci- transformed to a view by a function and displayed
୕ࣸᄳϓɓࡈɚʩᗫڷbinary relationd್ܝ fication. A problem specification, written as a rela- to the user, and the user is allowed to edit and alter
ཀɓӻΐٙપစdᔷʷϓɓࡈՌᅰႧԊόfν tion, is subsequently refined in many step into a the view. The task is to reflect the changes on the Research Fellows
functional program. The program thus constructed view back to the source data. In my previous work
Ϥପ͛̈ٙό̙ᆽڭ͍݊ᆽٙfҢΝࣛɰ࿁Դ͜
is therefore correct by construction. I am also inter- in University of Tokyo, we developed a program-
௰ࢮڋԴૢweakest preconditionٙҏόႧ ested in derivation of procedural programs basing ming language, based on injective functions, to ease
on the weakest-precondition calculus. the task of bi-directional updating.
ԊόપኬϞጳሳf
Program inversion: XML processing:
Research Fellows
ਿ ͉ ༟ ࣘ
ਿ ͉ ༟ ࣘ ˀՌᅰj Many problems can be specified as the inverse An XML document is basically a tree, and
εਪᕚேঐࠑϓరҬݔԬ੬ԈՌᅰٙˀՌ of some well-known function. The converse-of- we functional programmers, who are supposed to
ᔖcc၈j пӺࡰ ᅰfҢٙϘಂӺʿνОਗ਼ɓࡈՌᅰٙˀՌᅰ a-function theorem, originally proposed by Oege, know a lot about about trees, should be able to ap-
Assistant Research Fellow (2006/02--) describes how to construct the inverse of a function ply our knowledge to XML. Currently I am looking
ࠑϓɓࡈfoldfҢࡁΝࣛɰίӺνձ as a fold. We need more experience to deal with the into streaming XML processing. The aim is to pro-
௰৷ኪዝj D.Phil, Computing Laboratory, calculations involved and are keen to see more of cess and transform XML documents in a memory-
ҪˀՌᅰᏐ͜ί XML ᇜ፨ၾஈଣʘɪf
University of Oxford, UK its applications. We are also seeking possibility to efficient way.
(1999/08~2003/05) ᕐΣһอj
ཥcc༑j+886-2-2788-3799 ext. 1730
ணϞɓԬࡡ༟ࣘdཀݔՌᅰᔷ౬ϓ̤ɓ
ෂccॆj+886-2-2782-4814 ၇̙ᜑͪഗԴ͜٫ٙ༟ࣘഐfԴ͜٫̙ࡌҷe Selected Publications
Selected Publications
ཥɿڦᇌjscm@iis.sinica.edu.tw ᇜ፨ʘfᕐΣһอਪᕚۆ݊νОҪԴ͜٫ٙᇜ
1. Z. Hu, S-C. Mu and M. Takeichi, A programmable editor for develop- case study of program inversion. In The First Asian Symposium
ၣccࠫjhttp://www.iis.sinica.edu.tw/pages/scm ፨ਗЪˀ݈Ցࡡ༟ࣘɪfҢί؇ԯɽኪٙӺу ing structured documents based on bidirectional transformations. Sub- on Programming Languages and Systems, LNCS 2895, pp. 265-282,
mitted to Higher-Order and Symbolic Computation. Bejing, 2003.
ྒྷ༊༶͜ˀՌᅰஈଣᕐΣһอਪᕚf 2. S-C. Mu, Z. Hu and M. Takeichi, Bidirectionalizing Tree Transforma- 10. S-C. Mu, A Calculational Approach to Program Inversion. D.Phil The-
tion Languages: A Case Study. JSSST Computer Software, Vol. 23(3), sis. Oxford University Computing Laboratory. March 2003
• Postdoctoral Fellow, University of Tokyo, Japan 9.- ஈଣj May 2006. 11. S-C. Mu and R. S. Bird, Inverting functions as folds. In Sixth Interna-
(2003/06--2006/01), 3. R. S. Bird and S-C. Mu, Countdown: a case study in origami program- tional Conference on Mathematics of Program Construction, Dagstuhl,
XML ਿ͉ɪ݊ɓ၇ዓً༟ࣘഐfՌᅰႧԊ ming. Journal of Functional Programming, Vol 15(6), pp. 679-702, Germany, July 2002
• D.Phil, Computing Laboratory , University of November 2005. 12. R. S. Bird, J. Gibbons and S-C. Mu, Algebraic methods for optimis-
Ӻ٫εϋଢ଼ጐəஈଣዓًഐ᜕ٙdঐщ༶͜
Oxford, UK(1999/08~2003/05) 4. R. S. Bird and S-C. Mu, Inverting the Burrows-Wheeler transform. ation problems. In Algebraic and Coalgebraic Methods in the Math-
ί XML ʘɪkҢͦۃ͍Ӻ˸༟ࣘݴٙ˙όίԴ Journal of Functional Programming Vol. 14(6) Special Issue on Func- ematics of Program Construction, LNCS 2297, pp. 281-307, January
• B.S., Computer and Information Science , National tional Pearls, pp. 603-612, Novermber 2004. 2002.
Chiao-Tung University, Taiwan(1992/09~1996/07) ͜ˇඎাኳٙઋرɨஈଣ XMLf 5. S-C. Mu, Z. Hu and M. Takeichi, An algebraic approach to bidirec- 13. S-C. Mu and R. S. Bird, Quantum functional programming. In
tional updating. In The Second Asian Symposium on Programming 2nd Asian Workshop on Programming Languages and Systems,
Language and Systems, pp. 2-18. November 2004. KAIST, Dajeaon, Korea, December 17-18, 2001.
6. Z. Hu, S-C. Mu and M. Takeichi, A programmable editor for devel- 14. R. S. Bird and S-C. Mu, Inverting the Burrows-Wheeler Transform.
oping structured documents based on bidirectional transformations. In ACM SIGPLAN 2001 Haskell Workshop, Firenze, Italy, September
In Partial Evaluation and Semantics-Based Program Manipulation, 2001.
pp. 178-189. August 2004. 15. S-C. Mu and R. S. Bird, On building trees with minimum height, re-
7. S-C. Mu, Z. Hu and M. Takeichi, An injective language for revers- lationally. In First Asian Workshop on Programming Languages and
ible computation. In Mathematics of Program Construction 2004, Systems, Singapore, December 2000.
LNCS 3125, pp. 289-313, July 2004. 16. S. Seres and S-C. Mu, Optimisation problems in logic programming:
8. S-C. Mu and R. S. Bird, Theory and applications of inverting functions an algebraic approach. In Proceedings of LPSE'00, July 2000.
as folds. In Science of Computer Programming Vol. 51 Special Issue 17. T-R. Chuang and S-C. Mu, Out-of-core functional programming with
for Mathematics of Program Construction 2002, pp. 87-116, 2003. type-based primitives. In 2nd International Workshop on Practical As-
9. S-C. Mu and R. S. Bird, Rebuilding a tree from its traversals: a pects of Declarative Languages, January 2000.
92 93