Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Proposal added

  • Loading branch information...
commit 7b53c84b5aca7d012afd816256fd514d2bc2cad9 1 parent f58f62d
@regedor authored
Showing with 217 additions and 0 deletions.
  1. +81 −0 proposal/regedor.bib
  2. +136 −0 proposal/regedor_thesis_proposal.tex
View
81 proposal/regedor.bib
@@ -0,0 +1,81 @@
+@conference{gousios2007software,
+ title={{Software quality assesment of open source software}},
+ author={Gousios, G. and Karakoidas, V. and Stroggylos, K. and Louridas, P. and Vlachos, V. and Spinellis, D.},
+ booktitle={Proceedings of the 11th Panhellenic Conference on Informatics},
+ year={2007},
+ organization={Citeseer}
+}
+
+@phdthesis{hofer2010evaluating,
+ title={{Evaluating Static Source Code Analysis Tools}},
+ author={Hofer, T.},
+ year={2010},
+ school={{\'E}cole Polytechnique F{\'e}d{\'e}rale de Lausanne}
+}
+
+@book{kan2002metrics,
+ title={{Metrics and models in software quality engineering}},
+ author={Kan, S.H.},
+ year={2002},
+ publisher={Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA}
+}
+
+@article{marchenko2007predicting,
+ title={{Predicting software defect density: a case study on automated static code analysis}},
+ author={Marchenko, A. and Abrahamsson, P.},
+ journal={Agile Processes in Software Engineering and Extreme Programming},
+ pages={137--140},
+ year={2007},
+ publisher={Springer}
+}
+
+@inproceedings{1174114,
+ author = {Dennis Strein and Hans Kratz and Welf Lowe},
+ title = {Cross-Language Program Analysis and Refactoring},
+ booktitle = {SCAM '06: Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation},
+ year = {2006},
+ isbn = {0-7695-2353-6},
+ pages = {207--216},
+ doi = {http://dx.doi.org/10.1109/SCAM.2006.10},
+ publisher = {IEEE Computer Society},
+ address = {Washington, DC, USA},
+}
+
+@misc{binkley-animated,
+ author = "David Binkley and Mark Harman and Jens Krinke",
+ title = "Animated Visualisation of Static Analysis: Characterising, Explaining and Exploiting the Approximate Nature of Static Analysis",
+ url = "citeseer.ist.psu.edu/754774.html"
+}
+
+@inproceedings{1254713,
+ author = {David Binkley},
+ title = {Source Code Analysis: A Road Map},
+ booktitle = {FOSE '07: 2007 Future of Software Engineering},
+ year = {2007},
+ isbn = {0-7695-2829-5},
+ pages = {104--119},
+ doi = {http://dx.doi.org/10.1109/FOSE.2007.27},
+ publisher = {IEEE Computer Society},
+ address = {Washington, DC, USA},
+}
+
+@incollection{Curtis81a,
+ AUTHOR = {B. Curtis},
+ TITLE = {Chapter 12 -- The measurement of software quality and complexity},
+ BOOKTITLE = {Software Metrics: An Analysis and Evaluation},
+ EDITOR = {Alan J. Perlis and Frederick Sayward and Mary Shaw},
+ PUBLISHER = {MIT-Press},
+ year = 1981,
+ month = May,
+ ISBN = "978-0-262-16083-4"
+}
+
+@book{Perlisea81a,
+ author = {Alan J. Perlis and Frederick Sayward and Mary Shaw},
+ title = {Software Metrics: An Analysis and Evaluation},
+ year = 1981,
+ month = May,
+ edition = {},
+ publisher = {MIT-Press},
+ ISBN = "978-0-262-16083-4"
+}
View
136 proposal/regedor_thesis_proposal.tex
@@ -0,0 +1,136 @@
+\documentclass[12pt]{article}
+
+%%\usepackage[portuges]{babel}
+\usepackage[latin1]{inputenc}
+\usepackage{url}
+
+\parindent=24pt
+\parskip=2pt
+
+%%%%%%%%%%%%%%%%%%%%%%%%% DEFS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def \DSLpc {\textsf{DSLpc}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{document}
+\title{University of Minho}
+\author{Thesis Proposal}
+
+\date{Academic Year 2010/2011}
+\maketitle
+
+\section*{Identification}
+\begin{description}
+\item[Title] \textsf{Analysing and Mesuring Open-Source projects}.
+\item[Student] \textsf{Carlos Miguel Janeiro Regedor Dias da Torre }(\textit{miguelregedor@gmail.com}).
+\item[Main Supervisor] \textsf{Professor Pedro Rangel Henriques}, form University of Minho.
+\item [Co-Supervisor] \textsf{Daniela da Cruz}, form University of Minho.
+\item [Work Location] University of Minho, at Informatics Department.
+\item [ECTS] 45 ECTS.
+\end{description}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% ABSTRACT
+
+\begin{abstract}
+This document presents a proposal for a master thesis in Computer Science, in the area of \textit{Program Comprehension and Static code analysis}.
+
+This work (thesis preparation and writing) is a component of the second year of the new Masters degree (second cycle of Bologna), and will be achieved in University of Minho at Braga, Portugal.
+
+The final objective is to develop an application capable of analysing a given open-source software project and providing a detailed report, containing different software quality metrics. Traditional metrics should be used, but new ones should be discovered, how to combine and interpret those metrics and end up with a project's global ranking.
+
+We believe that this application will be helpful for users that need to find out how trustable an open-source software is, and to the open-source developers to get hints on how to improve the quality of their software.
+\end{abstract}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% CONTEXT
+
+\section{Context}
+Nowadays, thousands of open-source software packages can be found online, and free to download. For example \textit{GitHub} \footnote{\url{http://www.github.com} is a web-based hosting service for projects that use the Git revision control system.} is hosting more than 1 million open-source projects.
+
+The quality of a software system \cite{gousios2007software} depends, among other things, in update frequency, quantity of documentation, tests coverage, number and type of its dependencies and good programming practices. By analysing those parameters a user can make a better choice when picking a software for specific a task. \cite{marchenko2007predicting}
+
+The problem is that a software project is built up from hundreds, sometimes thousands, of files and it can be coded in many different computer languages. Because of that, to manually analyse a software project is a very hard and time consuming task.
+
+There are around two thousand documented software metrics, but there is no information on how those metrics relate to each other.\cite{kan2002metrics} Most of them simply have different names but give similar information about the project. The major challenge in this work is to discover how important the information given by those metrics is, and how to interpret their values to get \textit{global rankings}\footnote{Something easly readable, like a five stars system. For example a project would be ranked with five stars in documentation, and four stars in code quality. }. This way a user can quickly find out if a project has a hight level of quality or not.
+
+With that in mind, a system capable of automatically analysing and producing reports \cite{hofer2010evaluating} about a given open-source software project would enable users to make better choices, and developers to further improve their software.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% OBJECTIVES
+
+\section{Objectives}
+The aim of this master thesis is split in two connect parts. The first part is theoretical, and the second is practical. The first part will be the base work for the second, and the second will be a proof of concept for the first.
+
+The theoretical objectives are:
+\begin{itemize}
+\item To study the software metrics that already exist.
+\item To find out if the information given about a project by each metric pays the calculation effort.
+\item To interpret and correlate the metrics to end up with global rankings for a Project.
+\end{itemize}
+
+The practical objective is to build a web based system capable of automatically analysing all github.com open-source projects.
+
+\medskip
+
+The reports generated by this system should contain the global ranking to help the users make better choices, and should contain more detailed information about the project and its main flaws to help the open-source developers improve it.
+
+The work done in this master thesis is expected to improve the quality of the open-source software in general.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%% METHODS
+
+\section{Methods}
+The methodology that will be followed in this master work is
+composed of the following steps:
+
+\begin{itemize}
+\item Bibliographic search;
+\item Reading and synthesis of the selected bibliography;
+\item Development of a prototype tool;
+\item Testing the prototype tool against github projects;
+\item Evaluation of the prototype and discussion of the results.
+\end{itemize}
+
+The evaluation process is not yet defined, but the base idea is to get feedback from github users and developers, and the comparison between the developed prototype reports and logical expected reports for well known projects.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% WORK PLAN
+
+\section{Schedule}
+
+The duration of this master work is estimated to be one year.
+
+In spite of its goals being well defined, there is no proper way to forecast how much time will be needed to accomplish each one of them. However the year will de divided into four phases (three months each) to work on the components underlying this thesis.
+
+The thesis report will be written in parallel with all the phases described below:
+
+\begin{description}
+\item[Month $1^{st}$ to $6^{rd}$:] The first six months period will be used for the searching the basic bibliography and its revision. It's also important to determin wich kind of projects and programing languages are predominatn in github projects. Furthermore this initial research will culminate in an article to be presented in a local conferece organised in the context of UCE15 course.
+
+\item[Month $7^{th}$ to $9^{th}$:] In this second part, several tasks will be carried out in parallel. One task will be the begining of the development of the prototype proposed in the objectives. Another task will be to continue the bibliographic revision. Articles will be written for publishing some intermediate conclusions about the work being done.
+
+\item[Month $10^{th}$ to $12^{th}$:] The last three months will be used to evaluate the prototype and to draw conclusions relating the outcomes from this evaluation and the studies done within the last months.
+
+Finally, conclusions about the work done will be written, and the thesis document will be reviewed.
+
+\end{description}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% BIBLIOGRAPHY
+
+%\nocite{*}
+{
+\small
+\bibliographystyle{alpha}
+\bibliography{regedor}
+}
+
+\end{document}
+
Please sign in to comment.
Something went wrong with that request. Please try again.