Peng-Sheng Chen ()

Associate Professor
Department of Computer Science and Information Engineering
National Chung Cheng University
(High Performance Computing Laboratory)
 
Department of CSIE Phone: +886-5-2720411 ext. 33117
National Chung Cheng University Fax: +886-5-272-0859
Chiayi, Taiwan 621, R.O.C. Fax: +886-0943037104
Email: pschen@cs.ccu.edu.tw

Research description

My research areas historically focus on program analyses and compiler optimizations. Alias analysis and memory disambiguation are the topics I am most interested in for a long time. I hope that the proposed techniques can be integrated into a real compiler to have a big impact on the real applications. GCC compiler is the compiler that I am most interested in. My recent researches are described as follows.

  • MISRA-C checker. MISRA-C is a coding standard for critical systems. In this part, we target at single-translation-unit rules. We developed the algorithms to detect whether a program is MISRA-C compliant. The implementation is based on GCC compiler infrastructure.
    • This work targeted at MISRA-C:2012 (the third edition of the specification) Amendment 1. The detailed design information can be obtained from our paper.
      • Chih-Yuan Chen, Yung-An Fang, Guan-Ren Wang & Peng-Sheng Chen (2023) A GCC-based checker for compliance with MISRA-C's single-translation-unit rules, Connection Science, 35:1, DOI: 10.1080/09540091.2023.2222934
    • The source code can be downloaded from GitHub.

  • A static checker for memory deallocation errors. We developed the algorithms to check memory deallocation errors (i.e., memory leak, double free, use after free). The main feature is that the algorithm does not tightly depend on a specific alias analyzer. The implementation is based on GCC compiler infrastructure. We do the analysis on GIMPLE IR.

  • System-level redundancy to enhance system reliability. In this work, we developed a system-level redundant technique to enhance system reliability.  The whole system consists of two system: primary system and redundant system. The two systems are connected via network. If one of the system fails, the other system will arise to resume the work. We use two Raspberry Pi boards to demonstrate the framework successfully. For some critical systems (e.g., drone, factory-control systems, medical system), the technique can be used to enhance the reliability inexpensively.

  • Iterative-learning control (ILC) and machine tools. This is a interdisciplinary research work with Prof. Shyh-Leh Chen from the department of Mechanical Engineering. We leverage program optimization techniques to enhance the execution time of ILC to make such technique can be used in a real factory. The implemented ILC program is integrated into LinuxCNC, an open source controller.

  • Compiler for POSIT. POSIT is a floating-point format that is different from IEEE-754 standard. We modified GCC compiler to support POSIT format. This is a research collaboration with ViviSparks.

  • Secure multiparty computation (MPC). Data analysis relies greatly on the adequacy of the data to be analyzed (i.e., that sufficient data are available). The data may be scattered among different companies and institutions, so the analysis might be required to run across different data owners. The analysis would therefore need data to be shared among various data owners. However, data sharing faces issues such as privacy, internal confidentiality, and intellectual property. Secure multi-party computation (MPC) has been proposed to resolve these issues and allow analysis of data across multiple parties. It involves all parties jointly performing the calculation without revealing their own data. In this work, we developed a source-to-source compiler to translate a general C program to the corresponding MPC version. ABY library is leveraged in this work.

系統軟體相關之研究,有如幕後工作一般,沒有光鮮亮麗的外表,艱澀枯燥,須經常檢視與撰寫大量程式碼,但在電腦系統裡卻 扮演著舉足輕重的腳色。我希望所作之系統軟體相關的研究都可以兼顧理論與實務,實作在真正的編譯器上,使這些技術可以真的應用於實際的情 境,對我們的世界產生正面的影響。歡迎對於系統軟體、程式分析、編譯器優化技術有興趣的同學,加入我們研究的行列。


Research interests

  • Optimizing compiler
  • Multicore computing
  • Embedded software
  • Program analysis
  • Domain-specific parallelization and optimizations
  • XML-based big data processing

Teaching courses

  • Assembly language
  • Compiler design
  • Embedded system software design and implementation
  • Software analysis and optimization

Publications (in chronological order)

  • Conference papers
    • Pointer Analysis for Programs on Hybrid DRAM-PM Memory Systems
      Ruey-Heng Lee and Peng-Sheng Chen
      International Workshop on Embedded Multicore Systems (ICPP-EMS), Salt Lake City, Utah, USA. (August 2023)

    • Supporting Secure Multi-party Computation for R Framework
      Jia-Wei Wu, Shen-Ming Chung, and Peng-Sheng Chen
      IEEE International Conference on Applied System Innovation (IEEE ICASI), Taiwan. (April 2022)

    • Deep-learning-based tracking-error prediction for two-axis machining
      Wan-Ru Wu and Peng-Sheng Chen
      International Automatic Control Conference (CACS), HsinChu, Taiwan. (Nov. 2020)
    • An Adaptive Convergence Ratio Generation Algorithm for Iterative Learning Control
      Wen-Ling Chiu and Peng-Sheng Chen
      International Conference on Computing, Analytics and Networks (ICAN), ChiaYi, Taiwan. (Sep. 2020)
    • A GCC-based Compliance Checker for Single-translation-unit, Identifier-related MISRA-C Rules
      Guan-Ren Wang and Peng-Sheng Chen
      International Workshop on Embedded Multicore Systems (ICPP-EMS), online. (Aug. 2020)
    • Design and Implementation of System-level Redundancy for Fault Tolerance
      Sih-Kai Shen and Peng-Sheng Chen
      IEEE International Conference on Applied System Innovation (IEEE ICASI), Fukuoka, Japan. (April 2019)
    • A Loop Transformation Technique for Timing Speculative Architecture
      Yu-Ming Tseng and Peng-Sheng Chen
      IEEE International Conference on Applied System Innovation (IEEE ICASI), Chiba, Japan. (April 2018)
    • A Process-level Programming Model for Software Fault Tolerance
      Sheng-Wun Chuang and Peng-Sheng Chen
      IEEE International Conference on Applied System Innovation (IEEE ICASI), Chiba, Japan. (April 2018)
    • A SIMD-based Software Fault Tolerance for ARM Processors
      Shun-Zhi Lin and Peng-Sheng Chen
      IEEE International Conference on Applied System Innovation (IEEE ICASI), Sapporo, Japan. (May 2017)
    • Improving the Performance of an Iterative Learning Control Program
      Kai-Lun Huang and Peng-Sheng Chen
      International Computer Symposium (ICS), ChiaYi, Taiwan. (Dec. 2016)
    • A Software-base Redundant Execution Programming Model for Transient Fault Detection and Correction
      Yi-Shen Chen and Peng-Sheng Chen
      International Workshop on Embedded Multicore Systems (ICPP-EMS), Philadephia, PA, USA. (Aug. 2016)
    • Thread-level Value Speculation for Image-processing Applications
      Jun-Si Wu, Yuan-Fu Sheiue, and Peng-Sheng Chen
      International Workshop on Embedded Multicore Systems (ICPP-EMS), Beijing. (Sep. 2015)
    • A Project-Based Course in Autotronics System Design
      Peng-Sheng Chen
      International Conference on Consumer Electronics (ICCE-TW), Taipei, Taiwan. (June 2015)
    • Implementation of An Iterative Learning Control Using C++
      Yu-Ting Kao and Peng-Sheng Chen
      International Conference on Advanced Manufacturing (ICAM), ChiaYi, Taiwan. (Sep. 2014)
    • A Real-Time Parallel Scalable Video Encoder for Multimedia Streaming Systems
      Guo-An Jian, Jui-Sheng Lee, Kheng-Joo Tan, Peng-Sheng Chen, and Jiun-In Guo
      International Symposium on VLSI Design, Automation & Test (VLSI-DAT), HsinChu, Taiwan. (April 2013)
    • Accurate Instruction-Level Alias Analysis for ARM Executable Code
      Tat-Wai Chong and Peng-Sheng Chen
      International Computer Symposium (ICS), Hualien, Taiwan. (Dec. 2012)
    • A Practical Software-based Programming Model for Thread-level Speculation
      Yuan-Fu Sheiue, Wei-Cheng Chen, and Peng-Sheng Chen
      Asia-Pacific Programming Languages and Compiler Workshop (APPLC), Beijing. (June 2012)


  • Compiler Support for General-Purpose Computation on GPUs
    Yu-Te Lin and Peng-Sheng Chen
    Journal of Supercomputing. Vol. 50, Issue 1, pp. 78-97, October 2009. (EI;SCI)


  • Poster and Demo
    • A Remote Thin Client System for Real Time Multimedia Streaming Applications
      Kheng-Joo Tan, Guo-An Jian, Chia-Hsiang Chen, Dou-Cheng Chang, Chun-Kun Wang, Maw-Ren Lee, Peng-Sheng Chen, and Yuan-Sun Chu
      IEEE International Conference on Multimedia & Expo (ICME), Singapore, July 19-23, 2010.


  • Patent
  • 以 等效輪廓誤差控制雙軸工具機的學習系統及方法
    陳世樂, 李慧璿, 與 陳鵬升
    中華民國發明專利,證書號: I679507 (2019)


  • Book
    • 多 核心高效能程式開發: 使用OpenMP及OpenCL實例 (Performance on Multi-Core
      programming using OpenMP and OpenCL)

      張榮貴, 陳鵬升, 楊 武, 楊 朝棟, 李哲榮, 李政崑, 劉邦鋒, 蔣宗哲, 謝仁偉, 洪哲倫
      碩亞數碼科技,ISBN: 9789868639867. (June 2013)



Interesting Web Sites


 

Last Modified by Peng-Sheng Chen

October 4, 2023