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 |