Benson's Blog
Notes | Software Development
我為什麼鼓勵工程師寫 blog by 91
Writing is nature’s way of letting you know how sloppy your thinking is. Math is nature’s way of letting you know how sloppy your writing is. - Leslie Lamport
Hi, I’m Po-Sheng Hsu (Benson). This blog is a collection of my technical and study notes, mainly focusing on Software Testing, Compilers, and OS, and I use Golang, Java, C/C++, and Python for implementation and practice; the purpose of writing is to help me organize my thoughts, build structured knowledge, and internalize what I learn, and I welcome opportunities for information exchange and collaboration.
Hi 我是 Po-Sheng Hsu (許柏勝) Benson,這裡是我的技術與學習筆記,主要關注在軟體測試、編譯器、作業系統,並使用 Golang、Java、C/C++、Python 來實作與練習。寫 Blog 的初衷是透過寫作來幫助自己整理思考,建立結構化的知識體系。歡迎與我交換資訊與合作交流。
Benson’s Social Media:
- Email: pshsu@csie.io
- Github: Hotshot824
This year's posts
- Architecture | The 12-Factor App
- Note | ACPI States
- Note | BIOS Introduction
- Note | I2C Introduction
2025
- LLVM | CPU0 Create Backend Machine
- LLVM | TableGen Introduction
- Computer Organization | Pipelines Hazards
- Computer Organization | Pipelines
- C++ | Resource Acquisition Is Initialization (RAII)
- Algorithm | Big Number Multiplication
- C++ | How C++ Compiler Generates Executable File
2024
- Paper | KLEE: Introducing Symbolic Execution
- PDS | Introduction of Parallel and Distributed Systems
- Algorithm | Competitive Paging Algorithm
- Note | Arch User Repository
- Algorithm | Hirschberg's Algorithm
- Compiler | ANTLR Guide
- Note | Arch Linux Installation
- Note | Apache Maven Multi-Module Project Guide
- OS | Storage and File System
- Note | Using btrfs on Debian
2023
- Compiler | Code Generation (Unfinished)
- OS | Virtual Memory
- Testing | System Testing
- Testing | Mutation Testing
- OS | Main Memory
- Testing | Class-Level Unit Testing
- Compiler | Semantic Analysis Notes
- Note | Test Coverage Criteria
- Testing | Method-Level Structural Unit Testing
- OS | Deadlock
- Testing | Based on CLP Testcases
- OS | Synchronization (Unfinished)
- Testing | Method-Level Functional Unit Testing
- Compiler | Syntax Analysis Notes
- OS | CPU Scheduler
- OS | Process and Thread
- Note | Linux Kernel Macro container_of & offsetof
- Testing | Test Case Generation
- OS | Operating System Structure
- Testing | Software Testing Introduction
- Compiler | Lexical Analysis Notes
- Compiler | Compilers Introduction
- OS | Operating System Introduction
- Paper | Test Case Generation Based on Constraint Logic Graph
- Note | Object Constraint Language Concepts (Unfinished)
- Note | GNU Debugger Quick Notes
- OS | Linux Kernel Compilation
- Note | UML Structure Diagrams Introduction
- Note | UML Behavior Diagrams Introduction (Unfinished)
- Note | Unified Modeling Language Concepts
- Paper | BenFuzz: A Property Based Testing and Entropy Guided Blackbox REST API Fuzzer
- Paper | A MVVM Modeling Methodology for Information Systems User Interface Design
- Note | Architectural Patterns Compare MVP, MVC, MVVM
- Paper | Automated-generating test case using UML statechart diagrams (Unfinished)
- Paper | An Integrated Environment for Specification Driven Development (Unfinished)
- Paper | A Study of the Characteristics of Behaviour Driven Development
- Paper | An Analysis and Survey of the Development of Mutation Testing
- Paper | Test-driven development concepts, taxonomy, and future direction
- Paper | Applying the ISO/IEC 25010 Quality Models to Software Product
- Note | Standard - ISO/IEC
- Leetcode | Algorithm - KMP
- Note | Gomoku AI - Game Tree
2022
- Note | Commit Message Format
- Note | Constraint Satisfaction Problem
- Note | Basic UART Concept
- Note | Docker Build Github Pages