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.
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.
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.
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.
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.
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).
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.
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.
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)
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)
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.