From Fedora Project Wiki

Supplementary Proposal for Static analysis db

Contact Information

My name is Mateus Andrade, I am Software Engineering student at University of Brasília. I will apply in GSoC for the Static analysis db.

email: mateusandrade080@gmail.com

FAS and IRC: mateusandrade

About me

I have few experience but considerable with free software projects, I worked on eLugar, was a project for a college subject that consists to visualize open data of the 5,800 Brazilian cities and compare with each other.

It is possible to see some of my contributions below:

https://github.com/mdsgpp20161/eLugar/commits/master

I have worked in some other projects to help the literacy of leaf children in a project called DiciLIBRAS, it was a project of technical school, but we did not maintained a control version and nowadays just exists some files of the project, but the goal is to rewrite improving it.

As mentioned I am studying software engineering, I chose this major because I had contact with software development early, with 12 years old and since it I chose to build software for a job and hobby.

Challenges ever was present in my life, because of it I am programming contestant since 2014, overcome and improve myself is things that I find everyday, especially in software development. I am enthusiast of agile methodology, I try to apply some Scrum artifacts in all activities of my life, including study, this works too much for me and helped me to get good things.

Why Fedora Project?

I admire many free software communities, including Fedora, but I still did not contribute with a big free software project and I see in GSoC an opportunity to do it with my favorite distribution. After study the proposal I got more interested to contribute with the project because there are many sub-projects that satisfies my personal interests, even what will happen I want to be a Fedora contributor, would be great if I can contribute with the sub-project that the proposal that I will apply belongs.

My interest is in the Static analysis DB proposal because I have some skills and experience to apply for this project, I works for a while with Python, including with web development. I also have considerable experience in a closed project with secure oriented development and with usage of Flawfinder, Clang Static Analyzer, OCLint and some other tools. I want to gain a opportunity to contribute with a great free software project like Fedora and work with amazing people that is in this community, I have contacted the mentor of project, and I appreciate his help for me, I hope that we have the opportunity to work together.

The project for me is innovative and it will be useful not just for the Fedora Project but could be for the many organizations, I have experienced a similar problem that I had to develop a script to parse the output of a tool to make the code reviews more easier, it was in a closed project in a company that I am development intern. In the final the tool it have to be a thing to help identify all bugs, warnings that the static analyzers notices and rank them according with the importance.

I am prepared and have to be chosen for this proposal because I am familiarized with the proposal because of the experience that I had with the requirements of the tool.

Implementation

For this project the first Python resource to think is re module, to parse the outputs, it is a great module to work with regular expressions, to persist all information I purpose to use Postgresql a great free relational DB or MongoDB if it is better work with Object-Oriented DB.

To build the UI we can consider use the Django framework, because is the best python framework to build big projects, if we need complex things in the view we can consider use a some open JS front-end framework like VueJS, AngularJS, there are many, and use the Django to just build a REST API.

I imagine the architecture of the application with an application to do the parse, other the web application and the database. The parser and the web application will connect with the database. The parser to insert data and the web application to consume and display with a friendly environment.

Project Schedule

It is hard to discover what will be required in this project, the priorities, what will be assigned to me, but I predicted this:

Period Activity
May 05 - May 13 Learning more about the Static Analysis Special Interest Groupd and the proposoal
May 14 - May 28 Development of static analysis tools output parser
May 29 - June 4 Review by the mentor
June 5 - June 12 Correct possible change requests
June 13 - June 26 Development of ranking of bugs and warnings noticed by static analysis tools
June 27 - July 4 Review by the mentor
July 5 - July 12 Correct possible change requests
July 13 - August 4 Development of UI for the application
August 5 - August 12 Review by the mentor
August 13 - August 19 Correct possible change requests
August 20 - August 24 Necessary project changes
August 25 End


I do not have plans for summer just GSoC, there is one thing that I will have to spend some time that is the internship but it have a light grade. In July and the start of August I am going on a college vacation. The schedule of my exams is available below:

Exams Dates
April 3
April 11
April 26
May 19
May 23
June 9
June 20