Bin Lin

Bin Lin Email and Phone Number

Principal Software Engineer at Cadence Design Systems @ Cadence Design Systems
Bin Lin's Location
San Jose, California, United States, United States
Bin Lin's Contact Details

Bin Lin personal email

n/a
About Bin Lin

- PhD in computer science with strong programming, analytic, and mathematical skills, as well as solid foundation in data structures and algorithms.- 10+ years of programming experience with C/C++ for scientific research and industrial products such as Protium and SLEC. - Strong debug skills and extensive programming experience including C/C++, SystemC, Java, Python, Tcl, Bash and SQL. - Passionate about designing, developing, and implementing novel technologies such as AI, cloud computing and security in computer science, as well as accelerating SW/HW projects with computer-aided techniques.

Bin Lin's Current Company Details
Cadence Design Systems

Cadence Design Systems

View
Principal Software Engineer at Cadence Design Systems
Bin Lin Work Experience Details
  • Cadence Design Systems
    Senior Principal Software Engineer
    Cadence Design Systems Jul 2023 - Present
    San Jose, California, Us
  • Cadence Design Systems
    Principal Software Engineer
    Cadence Design Systems Sep 2020 - Jul 2023
    San Jose, California, Us
  • Cadence Design Systems
    Lead Software Engineer
    Cadence Design Systems Oct 2018 - Sep 2020
    San Jose, California, Us
    I am a software engineer of Protium, an FPGA-based prototyping system, R&D team and involved developing key algorithms and cutting-edge technologies. Specifically, I’ve been working on the back-end compiler with main focus on developing VLSI netlist partitioning and optimization engines, distributed and parallel computing, advanced clustering and partitioning algorithms.
  • Mentor Graphics
    Formal Equivalence Verification Intern
    Mentor Graphics Jun 2018 - Oct 2018
    Wilsonville, Or, Us
    SLEC is a sequential logic equivalence checking tool that enables formal equivalence checking between a C-level description and a RTL implementation or between two RTL implementations. I was an intern of its R&D team and involved developing and optimizing its key algorithms.
  • Portland State University
    Teaching Assistant
    Portland State University Jan 2014 - Jun 2018
    Portland, Or, Us
    TA for: 6. CS 584 Algorithm Design and Analysis 5. CS 4/554: Software Engineering Designed group (4 members) projects and managed the projects with the Agile software development process (Scrum). 4. CS 300: Elements of Software Engineering Designed the term project, including writing requirements specifications, managing version control repositories, and providing comments on each development stage. 3. CS 4/510: Software Validation Designed individual projects that help students practice a variety of software validation and analysis techniques and tools. 2. CS 250: Discrete Structures 1. CS 106 Computer Fundmentals
  • Portland State University
    Research Assistant
    Portland State University Jul 2014 - Dec 2016
    Portland, Or, Us
    My research interests span the areas of software engineering, embedded systems, verification and validation. I have been working on SystemC verification and Validation using symbolic/concolic execution techniques for more than 4 years.Projects:(1) Concolic Testing of SystemC DesignsProposed and implemented an improved approach for validating SystemC designs using binary-level concolic testing with integration of the assertion-based verification techniques. During the experiments, the newly generated test cases can improve line and branch coverage by 32% and 50% on average,respectively. The maximum improvement of line and branch coverage are 84% and 92%, respectively. Furthermore, my approach detects two bugs. One is a functional error, and the other is an out-of-bound access. (ISQED 2018 paper)(2) SCBench: A Benchmark Design Suite for SystemC Verification and ValidationPresented SCBench, a suite of benchmark designs for SystemC verification and validation. The benchmark consists of 38 well-written representative SystemC desigs that cover a variety of application domains and as many SystemC features as possible. It is freely available online. (ASP-DAC 2018 paper)(3) Symbolic Execution of SystemC DesignsProposed and implemented an approach, SESC, for generating test cases for SystemC designs using symbolic execution. First, a SystemC design is compiled into LLVM bitcode. Then, before the bitcode is exercised symbolically by the symbolic execution engine, it preprocesses the bitcode by running several LLVM passes that I developed. To enable symbolic execution of SystemC designs, I have implemented a scheduler in the symbolic execution engine, since a SystemC design consists of multiple processes that run concurrently. The test cases generated by SESC are able to achieve 100% code coverage for most SystemC designs. (ASP-DAC 2016 paper)
  • Portland State University
    Research Assistant
    Portland State University Jun 2013 - Dec 2013
    Portland, Or, Us
  • Portland State University
    Teaching Assistant
    Portland State University Sep 2012 - Jun 2013
    Portland, Or, Us
    TA for CS 106: Computing Fundamentals
  • Beijing Railway Bureau
    Technician/Engineer
    Beijing Railway Bureau Aug 2007 - Jul 2012
    I was primary responsible for network system of electrical multiple units (EMU) high-speed train. Each time when there was a failure of network system in an EMU, I would download run time data of the EMU, analyze the recorded log, find the cause of the failure, and fix the malfunction. I was in charge of three types of high-speed train, CRH2, CRH3, and CRH5. CRH2 is based on the E2-1000 Series Shinkansen, built by Kawasaki Heavy Industries. CRH3 is a version of Siemens Velaro high-speed train, built by Siemens. CRH5 is based on the ETR-600 New Pendolino, built by Alstom Ferroviari.Other responsibilities include:1. Responsible for technology management and maintenance guidance of EMU;2. Supervise and conduct on-site maintenance of various levels;3. Write failure reports and provide suggestions;4. Test the regulations of maintenance and revise them accordingly;5. Communicate with after-sale service of foreign companies, such as Alstom and Siemens.

Bin Lin Skills

Linux Algorithms C Matlab Teaching Software Eclipse Linux Device Driver Html Programming Java Testing Qemu Php Javascript C++ Verification And Validation Virtual Prototyping Python Simulations Railway Systemc Research

Bin Lin Education Details

  • Beijing Jiaotong University
    Beijing Jiaotong University
    Mesurement And Control Technology And Instrument
  • Portland State University
    Portland State University
    Computer Science

Frequently Asked Questions about Bin Lin

What company does Bin Lin work for?

Bin Lin works for Cadence Design Systems

What is Bin Lin's role at the current company?

Bin Lin's current role is Principal Software Engineer at Cadence Design Systems.

What is Bin Lin's email address?

Bin Lin's email address is bl****@****nce.com

What schools did Bin Lin attend?

Bin Lin attended Beijing Jiaotong University, Portland State University.

What skills is Bin Lin known for?

Bin Lin has skills like Linux, Algorithms, C, Matlab, Teaching, Software, Eclipse, Linux Device Driver, Html, Programming, Java, Testing.

Free Chrome Extension

Find emails, phones & company data instantly

Find verified emails from LinkedIn profiles
Get direct phone numbers & mobile contacts
Access company data & employee information
Works directly on LinkedIn - no copy/paste needed
Get Chrome Extension - Free

Aero Online

Your AI prospecting assistant

Download 750 million emails and 100 million phone numbers

Access emails and phone numbers of over 750 million business users. Instantly download verified profiles using 20+ filters, including location, job title, company, function, and industry.