The Programming Research Group is working on programming languages and programming environments. Our goal is to make programming more fun by advancing theory, design and implementation of programming languages and environments.

  • Theory, design and implementation of programming languages for advanced modularity, including object-oriented, aspect-oriented and context oriented programming languages, and computational reflection.
  • Making it easy to write efficient programs through high-level optimization techniques like partial evaluation and program transformation for advanced computing systems like GPGPU and massively-parallel computers.
  • Improving software development environment like reversible debuggers and code recommendation by exploiting rich computing resources and programming techniques like static program analysis and low-level execution profiling.

For more and detailed research topics, please look our projects page.  We welcome interested students and researchers to join us.

, April 1, 2000. Category: news.

Paper Presentation at COP 2017

The paper “Push-based Reactive Layer Activation in Context-Oriented Programming” (authored by Kamina, Aotani and Masuhara) is accepted by the 9th International Workshop on Context-Oriented Programming, co-located with ECOOP 2017.

, June 20, 2017. Category: news.

Paper Presentation at ICOOOLPS 2017

The paper “dart2java: Running Dart in Java-based Environments” (authored by Springer, Krieger, Manilov and Masuhara) was accepted at the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS 2017), co-located with ECOOP 2017.

Paper Presentation at ARRAY 2017

Our paper “Modular Array-based GPU Computing in a Dynamically-typed Language” (authored by Springer, Wauligmann and Masuhara) was accepted for publication at the ARRAY ACM SIGPLAN 4th International Workshop on Libraries, Languages and Compilers for Programming (ARRAY 2017), co-located with PLDI 2017.

Performance Analysis of an Accelerate Program at IPSJ-PRO Workshop

A paper on Identification and Elimination of the Overhead of Accelerate with a Super-Resolution Application, authored by Asakura, Masuhara, Matsumoto and Matsuzaki, is presented at 114th IPSJ PRO Workshop.

, June 8, 2017. Category: news.

Presentation of an automated refactoring paper at ICSE’17

A paper entitled “Automated refactoring of legacy Java software to default methods”, authored by Khatchadourian and Masuhara, is accepted by International Conference on Software Engineering (ICSE’17).

, May 20, 2017. Category: news.

Orientations for Prospective Graduate Students

The orientations for prospective graduate students are held on these days (details):

  • Saturday January 28, 2017 from 14:00
  • Saturady February 18, 2017 from 14:00
  • Saturday March 18, 2017 from 14:00
  • Saturday May 6, 2017 from 14:00
  • Friday May 12, 2017 from 13:00
  • Saturday May 13, 2017 from 11:00

Please contact Hidehiko Masuhara if you are interested in.

, May 13, 2017. Category: news.

Paper Presentation about live programming for data structures at PX 2017 Workshop

Our paper “Live Data Structure Programming” (authored by Oka, Masuhara, Imai, Aotani) is presented at The 2nd Edition of the Programming Experience Workshop co-located with <Programming> 2017.

Poster Presentations at PPL 2017

Our group will present the following posters at the 19th Workshop of Programming and Programming Languages (第19回プログラミングおよびプログラミング言語ワークショップ).

  • GPGPU Programming with the CertSkel Formally Verified Compiler (authored by Asakura, Masuhara, Aotani)
  • ライブプログラミング環境によるプログラマの行動と生産性への影響に関する実証研究 (authored by Imai, Masuhara, Aotani)
  • Kanonライブプログラミング環境を用いたデータ構造のプログラミング (authored by Oka, Masuhara, Imai, Aotani)
  • Kani-CUDAによるGPGPUプログラムの合成 (authored by Kani, Asakura, Masuhara, Aotani)
  • Iterative Stencil Computations in Ruby on GPUs (authored by Springer, Wauligmann, Masuhara)


Paper presentations at 113th IPSJ-PRO

The following papers are presented at the 113th IPSJ Workshop on Programming.

  • Kani-CUDA: a GPGPU program synthesizer with barrier synchronization and a shared memory (authored by Kani, Asakura, Masuhara, Aotani)
  • Visualization and Interactive Features for Supporting Data Structures in Live Programming (authored by Oka, Masuhara, Aotani)

Paper Presentation on a Certified GPGPU DSL at CoqPL 2017

Our paper “CertSkel: a Verified Compiler for a Coq-embedded GPGPU DSL” (authored by Asakura, Masuhara, and Aotani), is presented at CoqPL 2017, co-located with POPL 2017. The paper is available here.

Asakura's presentation at CoqPL'17