Our research aims at developing programming tools which utilize some research results in programming languages such as parsing,
type systems, and program transformations. We develop tools for completion of syntax, identifiers, and expressions and detecting
code clones in functional languages.
[Research topics]
(1) Theory and implementation of programming tools
- Identifier completion, syntax completion, detecting code clones, etc., especially for functional langauges
+ Syntax completion based on grammar transformation
+ Syntax completion using LR parsing
+ Identifier completion for functional programs that do not have any type or syntax error up to cursor potision
- Identifier completion for incomplete program text based on Yacc error recovery
- Type 3 code clone detection for Standard ML
- Everything else about programming support
(2) Theory and implementation of programming learning support
- Visualization of overwriting the function return addresses for C programs
- Elimination of goto statements for C (replacing with, e.g., while, break, and continue statements)
- A tool for visualizing pointers in C programs with supporting storage durations and scopes (in Japanese)
- Everything else about programming learning support
(3) Other topics each student considers