Parul Bhalla
e-mail: ******.*****@*****.*** Phone +1-408-***-****
Professional Summary
• Six+ years of professional experience in Embedded software (using C, C++) and C#/C-
Sharp, ASP .NET, SQL server, Data Structures, OOP and Assembly languages.
• Hand on experience in all phases of SDLC . Analysis, Design, Development, Coding and
Testing of Software Applications, products and System programming.
• Familiarity with Java and object oriented concepts.
• Experience in software development for MS-Windows, UNIX, Linux and Linux Kernel,
and Solaris 8/9/10 platforms.
• Experience in compiler development for DSP Processors (i-Core 2/3, TI DSP &
Motorola DSP architectures), GNU C Compiler (GCC, GDB), and RISC Processors.
• Experience in software development tools and environments including Microsoft Visual
Studio 6.0 IDE, Microsoft .Net IDE, UNIX tools (bash, ksh, csh), GNU tools and Eclipse.
• Experience with Debugging and Testing Tools.
• Experience in QA (Quality Assurance).
• Experience in scripting languages.
• Familiarity with HTML and XML .
• Fast learner, Strong diagnostic, organizational, interactive and team expertise.
• Good written and verbal communication, analytical, debugging and presentation skills.
Technical Skills
Operating Systems Unix, Solaris 8/9/10, Linux kernel, Windows NT/2000/XP
Languages Software Languages: C, C++, C#/C-Sharp, Assembly, SQL
Scripting Languages: Perl, Python, Unix shell Scripting
Development Tools ASP .Net, Microsoft Visual studio 6.0 IDE, Microsoft Visual Studio .Net
IDE, Eclipse IDE, Unix, GNU toolchain (GCC, GDB, makefiles),
And Utilities
ClearCase, XML, HTML, CVS
Debugging tools 16 Bit fixed point DSP Processor Simulator, Visual Studio 6.0 integrated
debugger for VC++ 6.0, Microsoft Visual Studio .Net, PCSim
Perennial, Plum Hall Test suites for ANSI-C Conformance Testing and
Testing Tools
Self developed Testing Tool for compilers, Batch processing
Quality Validation Tools QA C, DevPartner Studio - Numega BoundsChecker, TrueCoverage
Domain Knowledge Embedded software:
Software Tools – Instruction Set Architecture, Instruction Set
Simulators (ISS)
Compiler Development – DSP Processors (i-Core 2/3, TI DSP &
Motorola DSP architectures), GNU C Compiler (GCC, GDB) and RISC
Processors
Employment Summary
Oct. 2008 – April 2009
Company: ELITE SOLUTIONS INC. GA USA
Designation: Sr. Software Engineer
Nov. 2006 – Sept. 2008
Company: Cisco Offshore Development Center
Designation: Member Technical Staff
Nov. 2003 – Nov. 2006
Company: Acme Technologies Pvt. Ltd. Noida India
-1-
Designation: Software Engineer
Project Details
1. Project name Cross compiler for 16-bit fixed point DSP architecture
Date November 2003 to November 2006
Client OKI Electric, Japan
Company Acme Technologies Pvt. Ltd.
Description:
This project is aimed to develop the backend for 16 bit fixed point DSP processor by using front
end of existing ANSI C cross compiler for the b-bit RISC processor. Backend of the compiler
was developed from scratch. Front end was modified as per technical report on Embedded
C (TR 18037) according to the additional requirement of DSP-C specification.
Technical Specification
Languages used C (ANSI C), C++, Assembly language (DSP and RISC architectures),
HTML and XML
Development Environment Microsoft VC++ IDE, Microsoft Visual Studio .Net IDE
Platform Windows 2000/XP, Linux Kernel
Scripting Languages Perl and Python
Roles and responsibilities
• Study and research
o Study and understand the usage of compiler tools like flex, bison, lex, yacc.
o Study and understand 16 bit fixed point DSP architecture.
o To perform architecture dependent optimizations like Zero Overhead Loop
optimization, peephole optimization, ILP and Scheduling (instruction level parallelism),
Conditional Instruction and MAC (Multiplication and ACcumulation) Instruction.
To perform SSA based optimizations like: Dead Code elimination, Code Motion
o
(Loop variant code motion, loop invariant code motion), Code Hoisting, Code Sinking,
Loop optimizations (loop transformation, loop unrolling).
To perform a local register allocation.
o
o Restrictions of the architecture.
Study and analysis of architecture included hand-coding of DSP applications like:
o
FFT in assembly language. The aim of hand-coding was to achieve the best possible
memory organization, maximum ILP and the best possible utilization of instruction set
supported by the architecture.
To understand the local, global and loop optimizations done in the front-end.
o
• Design and Development
Responsibility to design, develop and test Zero Overhead Loop Module. This
o
module takes C level code as input and generates intermediate code as output.
Requirement is to convert a source level loop into Zero Overhead Loop instructions
supported by the architecture.
Responsible for designing, developing and testing the local register allocation
o
module.
Involved in QA C (Quality Assurance) and True Coverage testing.
o
Analysis and Design of Delay Slot Optimization and PC relative addressing.
o
Formulated design rules for ILP.
o
• Review and discussion
o Review the design and code written by other members of the team. Each design
decision in a module is discussed and cross-examined by the whole team. This builds
a comprehensive knowledge on other modules as well like register allocation,
instruction level parallelism and memory organization
• Testing
Performed Perennial testing to verify the output generated by compiler.
o
-2-
Writing test cases to verify compiler is in compliance with specification.
o
Done Unit testing of Zero Overhead Loop module.
o
Used test case generator for testing the compiler.
o
Done testing using batch processing.
o
• Defect fixing
Involved in fixing of defects found in various modules of compiler.
2. Project name Cisco IOS Compilers and Tools
Date November 2006 to September 2008
Client Cisco Systems Inc., San Jose, CA
Company HCL (HCL-Cisco, Cisco Offshore Development Centre)
Description
The aim of this project is to customize and build a newer version of GNU C compiler (gcc) and
migrate the Cisco IOS release trains to this newer version of gcc. It has two stages:
• Readiness of the compiler: It involves upgrading the GNU C Compiler to a new version
by adding new features to make it more ANSI compliant as well as by adding patches to
fix the bugs in the previous version of the compiler.
• Readiness to migrate a branch: Cisco IOS is migrated to the new version of gcc once
the compiler is ready to be released. This involves building, booting and benchmarking
the images.
Technical specifications
Languages used C, C++, Assembly language (MIPS and PPC architectures)
Platform Unix, Linux kernel, Solaris 8, Solaris 10
Scripting Languages Unix Shell Scripting, Perl and Python
Development tools GNU toolchain, Clearcase
Roles and Responsibilities
• Part of the sustaining engineering group for Cisco IOS compilers and tools
• Review and analysis of
IOS architecure
o
Unix and clearcase commands
o
Patches applied to the compiler
o
o Build and boot images
• Study and analysis of MIPS 32/64, Power PC, X86 assembly languages
• Customize GCC by adding patches and changing it as per the functional specification
• Study and analysis of GCC features like register allocation, SSA, RTL, AST, intermediate
code representations, GIMPLE, GENERIC
• Migrate Cisco IOS release trains
o Analyze and fix all the build issues for IOS, ION and IOU images faced while
migrating a branch to a new version of the compiler
o Analyze, troubleshoot and fix the boot issues seen due to migration of a branch to
the new compiler version
• Testing
Performed testing for gcc.c3.4.5-p1. It involved the following:
o
Study of Cisco format test suite and ION API Signature test suite
o
Write test cases for the patches gone into the compiler
o
o Verify the compiler behavior with the test suites and the test cases written for the
patches
Done testing using batch processing
o
Performed benchmarking for the compilers
o
o Product Defect fixing by analyzing and solving the run-time issues
• Reviews and Discussions of fixes and queries posted by onsite and offshore teams.
• Provide support to the Engineering community for queries related to compilers and GNU tool
chains
-3-
3. Project name Developing informational Website
Date October 2008 – April 2009
Company Elite Solutions Inc.
Description
• Build an informational website (www.knowurdr.com) with search engine capabilities for
accessing information about doctor’s details.This website will hold a blog for the users to
provide their reviews about a doctor. Also, in the future the customer will also like to
provide e-commerce access through this website. Online users must have a access to
upload their files to their web accounts.
Technical Specification
Languages used C#/C-Sharp, SQL
Development Environment Microsoft ASP .NET
Platform Windows 2000
Roles and Responsibilities
• I’m part of a team working on developing a informational web site with Search engine
capability, where consumers will provide their reviews and will search for contents. This
project is being developed as ASP.NET (using C#) web application with SQL Server 2000
back-end.
• Formulating the business case for the site.
• Part of team responsible for designing the logical and physical structure of the application
• As a team member building SQL Server database to responsively handle queries and .NET
data access components
• Implementing business logic as .NET Framework assemblies (C#)
Envisioned and built front-end for the site written in ASP.NET, MS Visual Studio .NET,
C#, XML, HTML
Professional Certifications and Recognitions
2009: MCTS .NET Framework 3.5, ASP.NET Applications (70-536)
2007: SPARKS Award for Best Engineer in HCL Technologies.
2005: Awarded “Gung Ho!” by Acme Technologies.
Education/ Technical Background
2002: B.Tech. in Electronics and Communication from Kurukshetra University
2003: PG Diploma in VLSI Design and Systems Programming from CDAC.
References
Will be provided on request
-4-