Name: Anirudha Bose
Contact:
Email ID- ani07nov@gmail.com
IRC Nick- anibose on Freenode
Background: I am a first year Computer Science undergraduate at International Institute of Information Technology, Bhubaneswar in India. I am quite familiar with Python as I do most of my work in it, but I am comfortable with C and bash as well. I have a significant experience in Debian/Ubuntu packaging, and am quite familiar with building packages and static analysis of sources using scan-build. I have deep interest in Natural Language Processing, Linux, data structures, and web applications. I haven’t done any major project yet, but the following are few of my experiences.
- Developed a portal for delivering presentations in the ACM Student Chapter of our college. This portal lets you view presentations online and ask questions to the speaker. – Developed using Python in Google App Engine.
Developed a website which looks and behaves like a UNIX terminal. Users must use common UNIX commands to access website contents. – Developed using ?JavaScript and Python in Google App Engine.
- Developed a file searcher that searches file names and file contents for a given text efficiently. –Developed using Python.
- Working on Word Sense Disambiguation to predict the meaning of a keyword in a sentence and retrieve its summary from Wikipedia. – Developing using NLTK in Python.
Project Title: scan-build on the Debian archive
Project Details:
The goal of the project is to rebuild the entire Debian archive with a non-gcc compiler (clang) and generate errors and warnings for package maintainers to be aware of. scan-build is a free static analyzer distributed with clang. The reports generated by scan-build are in the form of simple HTML files which are to be uploaded to DACA.
Packages which do not respect the CC/CXX variables will be ignored. It is also likely that the static analysis of some packages may fail due to various reasons. So the packages must be built using Personal Builder (pbuilder). The project will also include use of buildd infrastructure to make the process fully automatic.
As a part of the project, I have already generated reports for several popular packages. I will be using a web interface to add new packages once they have been analyzed, and also search and see the list of the packages already analyzed. It can also be used by my mentor to keep track of my progress.
Synopsis: Rebuild the entire Debian archive using scan-build and generate bug reports in a visual form to be uploaded to DACA.
Mentor: Sylvestre Ledru
Benefits to Debian:
- Since the whole archive will be built using Clang instead of GCC, it will generate more errors and warnings for package maintainers to be aware of. Keeping both compilers happy would result in higher quality code.
- It would benefit the upstream by generating more bugs for them to fix, increasing the quality of the package.
- It would encourage all packages to respect $CC and $CXX eliminating many build problems.
- The project will ease the work of Debian developers and package maintainers by helping them find bugs in the package source.
Deliverables:
- Visual HTML reports of scan-build on each and every Debian package which is implemented in C/C++/Objective-C.
- A common interface containing the reports of scan-build in Debian Automated Code Analysis (DACA).
- A system that makes the process of generating reports fully automatic using buildd infrastructure.
- (optional) A web interface containing list of all packages analyzed using scan-build. If static analysis of some package failed, then a detailed report is also presented.
Project Schedule:
- May 28 - June 16: Familiarize with pbuilder and read buildd documentation. Upload reports already analyzed to DACA.
- June 16 – August 31: Run scan-build on the whole Debian archive and upload reports to DACA.
- September 1 – September 16: Implement the fully automated system of generating reports using the buildd infrastructure.
Exams and other commitments: I have my semester exams in last week of May or first week of June. But the dates are subject to change depending upon the circumstances. I have no plans for vacations during this period.
Why Debian? : I am a fanboy of Linux and love free and open source software. Debian is “The Universal Operating System” and has a great open source community. Working for Debian under the Google Summer of Code program and being a part of an awesome community are reasons strong enough for me to apply for Debian.
Are you applying for other projects in SoC? : I will be applying for GNU Project too.