Академический Документы
Профессиональный Документы
Культура Документы
On
B.TECH
in
INFORMATION TECHNOLOGY
Submitted By
KUNAL GUPTA
Roll. No. 07296303112
ACKNOWLEDGEMENT
A research work owes its success from commencement to completion, to
the people in love with researchers at various stages. Let me in this page
express my gratitude to all those who helped us in various stage of this study.
First, I would like to express my sincere gratitude indebtedness to Mr. Manoj
Malik (HOD, Department of Information Technology, Maharaja Surajmal Institute
of Technology,New delhi) for allowing me to undergo the summer training of 6
weeks at ARICENT TECH. (HOLDINGS),Tower 4 and 5, Unitech Info Space
Tikri, Sector 48, Sohna Road, Gurgaon, Delhi 122002
I am grateful to our guide Mr. NITIN MEHTA, for the help provided in
completion of the project, which was assigned to me. Without his friendly help
and guidance it was difficult to develop this project.
I am also thankful to Mr. HARBANSH SINGH YADAV for his true help,
inspiration and for helping me to preparation of the final report and presentation.
Last but not least, I pay my sincere thanks and gratitude to all the Staff
Members of ARICENT TECH. for their support and for making our training
valuable and fruitful.
Submitted
By:
Kunal Gupta
CERTIFICATE
This is to certify that Mr. KUNAL GUPTA of Bachelor of Information Technology
,has completed Summer Training on the topic CPPCHECK and JENKINS From
ARICENT TECH. as partial fulfillment of Bachelor of Engineering IT. The summer
Training report and presentation by him is genuine work done by him and the
same is being submitted for evaluation.
Signature
CANDIDATES DECLARATION
ARICENT TECHNOLOGIES
Aricent is a pure-play product engineering service and software firm. It develops
software, provides technology services, and works with networking, telecom,
software, semiconductor, Internet, and industrial companies. Aricent is
headquartered in Redwood City, California, with operations in 9 countries
worldwide investors are KKR & Co. L.P. and Sequoia Capital. The company
claims to employ 7,800 consultants, designers, and engineers at over 10
locations worldwide.
Aricent is the successor to Hughes Software Systems, which was established in
1991, a subsidiary to Hughes Electronics. (KKR),and Sequoia Capital.
Timeline:1) 1991: Established as Hughes Software Systems (HSS) in New Delhi developing
software solutions in the areas of VSAT-based networks for voice and data, cellular
wireless telephony, packet switching, and multi-protocol routing.
It acquired frog design for approximately $25 million
2)
2005:
Expanded
development
operations
the Ukraine; Randburg, South Africa; and Beijing,China. Was delisted from India's stock
market in preparation for sale.
3) 2006: Was acquired by Kohlberg Kravis Roberts and Sequoia Capital as part
of a $900 million sales of software companies.The transaction represented the
largest private equity buy-out in Indian history.
4) 2007: Acquired Datalinx; launched service provider offerings.
5) 2008: The Family Office, a multi-family office company with headquarters in
Bahrain also joined in funding Aricent.
6)2011: Rebranded to Aricent Group.
7) 2011: Opened engineering and development center for testing and wireless
technologies in Vietnam
8) 2013: Rebranded to Aricent.
9) 2015: Acquired SmartPlay Technologies, a semiconductor service based firm
for $180 million. As part of the deal, SmartPlays 1,200-plus staff will join
Aricents staff.
CONTENTS
1. Introduction
1.1. Cppcheck
1.2. Jenkins
1.3. Areas of application
1.4. Hardware and Software requirements
2. Working with Cppcheck
2.1. Installation
2.2. Getting Started
2.3. Severities
2.4. Options Available
2.5. Types of Checks
3. Saving Cppcheck Results
4. Jenkins Installation
5. Cppcheck and Jenkins Integration
6. Creating new project
7. Other Snapshots
8. Bibliography
1. INTRODUCTION
1.1
Cppcheck
Cppcheck is
a static
code
analysis tool
for
languages. It is a versatile tool that can check non-standard code. The creator
and lead developer is Daniel Marjamki.
Cppcheck is free software under the GNU General Public License.
Unlike C/C++ compilers and many other analysis tools, it
doesnt detect syntax errors. Cppcheck only detects the types of bugs that the
compilers normally fail to detect. You can check non-standard code that includes
various compiler extensions, inline assembly code, etc.
Cppcheck should be compilable by any C++ compiler that handles the latest C++
standard.
Cppcheck should work on any platform that has sufficient CPU and memory.
Some of the checks that are supported include:
1) Automatic variable checking
2) Bounds checking for array overruns
3) Classes checking (e.g. unused functions, variable initialization and
memory duplication)
4) Usage of deprecated or superseded functions according to Open Group
5) Exception safety checking, for example usage of memory allocation and
destructor checks
6) Memory leaks, e.g. due to lost scope without deallocation
7) Resource leaks, e.g. due to forgetting to close a file handler
8) Invalid usage of Standard Template Library functions and idioms
9) Miscellaneous stylistic and performance errors
1.2
Jenkins
Plugins have been released for Jenkins that extend its use to projects written in
languages other than Java. Plugins are available for integrating Jenkins with
most version control systems and big databases. Many build tools are supported
via their respective plugins. Plugins can also change the way Jenkins looks or
add new functionality.
Builds can generate test reports in various formats supported by plugins
(JUnit support is currently bundled) and Jenkins can display the reports and
generate trends and render them in the GUI.
1.3
Areas of Application
Cppcheck1) The
commercial
Lint by British
company
1.4
Software Requirements
Operating System
: LINUX
Front End
Web Browser
: Chrome/Mozila Firefox
Hardware Requirements
Machine
Speed
Hard Disk
: 50 GB or above
RAM
: 1 GB or above
Installation
1) Open terminal and type:a) sudo apt-get install cppcheck (for ubuntu)
b) yum install cppcheck (for fedora and red hat)
or
2.2
Getting Started
#include<stdio.h>
int main()
{
int a,b,c;
if(a==0)
printf("yes");
return 0;}
Checking Ram.c...
[ram.c:6]: (error) Uninitialized variable: a
Normally a program has many source files. And you want to check them all.
Cppcheck can check all source files in a directory:
cppcheck path
If "path" is a folder then cppcheck will check all source files in this folder.
Checking path/file1.cpp...
1/2 files checked 50% done
Checking path/file2.cpp...
2/2 files checked 100% done
1)The first option is to only provide the paths and files you want to check.
cppcheck src/a src/b All files under src/a and src/b are then checked.
2) Second option is to use i, with it you specify files/paths to ignore. With this
command no files in src/c are checked:
cppcheck I src/c src
(here the file in directory kunalinner is not checked)
2.3
Severities
2.4
Options Available
The format for command line Cppcheck is available with following
options:-
cppcheck [--append=<file>] [-D<id>] [--enable=<id>] [--error-exitcode=<n>] [-errorlist] [--exitcode-suppressions=<file>] [--file-list=<file>] [--force] [--help] [I<dir>]
[-i<dir>]
[--inline-suppr]
[-j<jobs>]
[--quiet]
[--report-progress]
[--
[--template '<text>']
[--verbose]
[--version]
[--xml]
[--xml-
6) --exitcode-suppressions=<file>
paths. First given path is checked first. If paths are relative to source files, this is
not needed.
11). -q, --quiet Only print something when there is an error.
12). --report-progress Report progress when checking a file.
13). --rule=<rule> Match regular expression to create your own checks. E.g.
rule "/ 0" can be used to check division by zero.
14).--rule-file=<file>. Use to rule given Xml file.
15). -s, --style Deprecated, use --enable=style.
16. -v, --verbose More detailed error reports.
17). --xml-version=<version> Select the XML file version. Currently versions 1
and 2 are available. The default version is 1.
18) --inconclusive
certain. With -inconclusive error messages will also be written when the
analysis is inconclusive.
19) -j
The option -j is used to specify the number of threads you want to use.
2.5
Type of Checks
Following are the various checks available with cppcheck:-
b) Severity-error,warning.style.performance,portability or information.
c) Msg-the error message in short format.
d) Verbose-the error message in long format.
e) Inconclusive-This attribute is only used when the message is inconclusive.
4. Jenkins Installation
5) Installation is complete.
4)
Upload the Cppcheck plugin which is a .hpi file. ( You can download
the file from Download Site).
5) Add a post build action and select publish cppcheck results in the popup- menu.
6) Save the configuration and click on build now.
7) Click on configure.
DESCRIPTION
The above screen gives the source files with errors or warnings along with the
lines in which the problem lies and the type of errors associated with each line.
There is a small description given along with the errors and can be made more
elaborate by using verbose option.
On clicking the lines or the files the following sceens appear.
7. Other Snapshots
Console output
Workspace
8. Bibliography
LINKS:1) cppcheck.sourceforge.net/
2) https://en.wikipedia.org/wiki/Cppcheck
3) https://jenkins-ci.org/
4) https://en.wikipedia.org/wiki/Jenkins_(software)
5) www.google.com