Skip to content

Commit 214d47a

Browse files
Merge pull request #186 from dpr1005/development
v.2.1.
2 parents 28a655f + c60ccae commit 214d47a

File tree

13 files changed

+138
-12
lines changed

13 files changed

+138
-12
lines changed

IS_RELEASE.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
# Instance Selection Methods
2-
=============
32
This project has the following algorithms:
43
- ENN
54
- The most pure Wilson Editing,
65
- and a modified version to work with self-training in case there are some
7-
instances that the author do not want them removed.
6+
instances that the author do not want them removed (safe).
87
- CNN
98
- RNN
109
- MSS
1110
- ICF
11+
- LocalSets
12+
- LSSm
13+
- LSBo
1214

1315

14-
Release Notes
15-
=============
16+
# Release Notes
1617

1718
See the commit logs at https://github.com/dpr1005/Semisupervised-learning-and-instance-selection-methods.

SSL_RELEASE.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# Semi-Supervised Algorithms
2-
=============
2+
33
This project has the following algorithms:
44
- Co-Training
55
- Tri-Training
66
- Democratic Co-Learning
7+
- Density Peaks
8+
- STDPNF
79

810

9-
Release Notes
10-
=============
11+
# Release Notes
1112

1213
See the commit logs at https://github.com/dpr1005/Semisupervised-learning-and-instance-selection-methods.

docs/anexos.pdf

251 KB
Binary file not shown.

docs/bibliografiaAnexos.bib

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,3 +233,5 @@ @article{leyva2015three
233233
year={2015},
234234
publisher={Elsevier}
235235
}
236+
237+
@misc{Travis-CI-LOG-UBUMLaaS, title={Travis-CI UBUMLaaS}, url={https://app.travis-ci.com/github/dpr1005/UBUMLaaS}}
70.6 KB
Loading
59.5 KB
Loading
82.1 KB
Loading
83.8 KB
Loading
116 KB
Loading

docs/tex/D_Manual_programador.tex

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,56 @@ \subsubsection{Uso del proyecto}
242242

243243
El usuario administrador por defecto es \texttt{[email protected]} y su contraseña es \texttt{admin4123!UBUMLaaS}.
244244

245+
\subsection{Integración Continua}
246+
Con el objetivo de obtener como producto final un \textit{software} de calidad, se han desarrollado una serie de pruebas de integración continua, las cuales se comprueban y analiza su resultado en cada \textit{commit} y/o \textit{pull request.}
247+
248+
Se han utilizado principalmente tres herramientas \textit{cloud} para medir los principios de calidad del \textit{software}.
249+
250+
\subsubsection{Codacy}
251+
Herramienta la cual proporciona soporte a análisis automático del código fuente e identifica los problemas a medida que avanza. Su versatilidad permite desarrollar \textit{software} de manera eficiente, reduciendo el número de \textit{bugs} que se <<dejan para resolver>>.
252+
253+
A través del análisis estático de código estático, notifica problemas de seguridad, cobertura del código, así como la duplicación y la complejidad de cada fichero en cada \textit{commit} y \textit{pull request}.
254+
255+
\imagenRuta{../img/anexos/manual-programador/Codacy-UBUMLaaS}{Codacy.}{Codacy-UBUMLaaS}
256+
257+
\subsubsection{Sonar Cloud}
258+
Herramienta \textit{open source} la cual permite hacer un análisis estático del código de un proyecto, entre sus fortalezas destaca su potente capacidad de ser parametrizada, entre las acciones que realiza por defecto encontramos la detección de malas prácticas, errores de código, así como problemas de seguridad que en el pasado se han visto relacionadas con alguna CVE\footnote{\textit{Common Vulnerabilities and Exposures}, lista de fallos \textit{software} (y \textit{hardware}) que en el pasado se han utilizado para ganar ventaja de alguna manera.}.
259+
260+
A pesar de que sea un proyecto \textit{open source} no es gratuita, y como todas las herramientas de estas características incluye una versión \textit{community} (gratuita) para aquellos proyectos que sean \textit{open source}.
261+
262+
\imagenRuta{../img/anexos/manual-programador/SonarCloud-UBUMLaaS}{SonarCloud.}{SonarCloud-UBUMLaaS}
263+
264+
\subsubsection{Travis-CI}
265+
Herramienta \textit{cloud} desarrollada para la realización de pruebas de integración continua sobre proyectos alojados en GitHub (con soporte beta para BitBucket, Gitlab y Assembla). Permite realizar un \textit{build} del proyecto y ejecutar sobre ella una batería de pruebas de manera automática cada vez que se realiza un \textit{commit} y/o \textit{pull request}, permitiendo pruebas concurrentes, incluso sobre diferentes sistemas operativos (Linux, Windows, macOS y FreeBSD).
266+
267+
Con el proyecto configurado en \texttt{Travis-CI} se debe configurar un fichero \texttt{YAML} y debe de estar en el directorio raíz, será a partir del cual se ejecuten las pruebas.
268+
269+
El fichero se encuentra dividido en:
270+
\begin{itemize}
271+
\tightlist
272+
\item \texttt{os:} sistema/s operativo/s sobre el cuál se va/n a realizar las pruebas.
273+
\item \texttt{dist:} distribución a utilizar.
274+
\item \texttt{language:} lenguaje de programación del proyecto.
275+
\item \texttt{python:} especificación de la versión de Python que necesita.
276+
\item \texttt{node\_js:} especificación de la versión de Node JS que necesita.
277+
\item \texttt{jdk:} especificación de la versión de JDK necesaria.
278+
\item \texttt{jobs:} parametrización de los trabajos que se van a ejecutar.
279+
\item \texttt{git:} profundidad del árbol de \texttt{git} que deseamos utilizar.
280+
\item \texttt{addons:} \textit{software} <<extra>> que se necesiten para las pruebas.
281+
\item \texttt{services:} especificación de los servicios que se van a utilizar.
282+
\item \texttt{before\_install:} definición de comandos a ejecutar antes de los incluidos en la sección \texttt{install}.
283+
\item \texttt{install:} definición de comandos de instalación de dependencias.
284+
\item \texttt{before\_script:} configuración de dependencias antes de ejecutar la sección \texttt{script}.
285+
\item \texttt{script:} pruebas a realizar.
286+
\end{itemize}
287+
288+
Los \textit{logs} son públicos y consultables desde~\cite{Travis-CI-LOG-UBUMLaaS}.
289+
290+
\imagenRuta{../img/anexos/manual-programador/Travis-CI-UBUMLaaS}{Travis-CI.}{Travis-CI-UBUMLaaS}
291+
245292
\subsection{Pruebas del sistema}
293+
Intro \\
294+
Tal y como se ha descrito, \texttt{UBUMLaaS} es un \textit{software} que ha sufrido un cambio de diseño de grandes dimensiones, por lo que las pruebas de integración continua previas que existían han dejado de ser funcionales, debido a que únicamente comprobaban la interacción del usuario con la plataforma a través de un navegador.
246295

247296
\clearpage
248297
\section{IS-SSL}
@@ -442,4 +491,38 @@ \subsubsection{Uso del proyecto}
442491
\end{lstlisting}
443492
\pagebreak
444493

494+
\subsection{Integración Continua}
495+
Con el objetivo de diseñar un \textit{software} lo más robusto posible, la biblioteca cuenta con una serie de pruebas de integración continua, permitiendo que todos los cambios que se vayan realizando mantengan la biblioteca en un estado correcto, indicando tempranamente aquellos posibles problemas que puedan surgir.
496+
497+
Este proceso se ha divido en dos etapas, una más <<adelantada>> y otra más <<tardía>>, la principal diferencia es el objetivo perseguido con cada una de las pruebas.
498+
\begin{itemize}
499+
\item Inicial. Se configuró la segunda semana de febrero, con el objetivo de comenzar a tener una visión más amplia y razonada de la calidad del código, debido a que todavía no estaban desarrollados al 100\% todos los algoritmos y aún eran susceptibles de sufrir modificaciones en tanto en cuanto a sus entradas/salidas/optimización.
500+
\item Posterior. Se configuró en Semana Santa, (segunda semana de abril), en esta fase se implementaron una batería de pruebas la cual cubre prácticamente la totalidad de \texttt{IS-SSL}, permitiendo obtener una base para futuras modificaciones que puedan ser necesarias realizar, asegurando que todo sigue funcionando como debería.
501+
\end{itemize}
502+
503+
A pesar de que se han utilizado diferentes herramientas que se podría decir que cubren los mismos tópicos, cada una implementa las diferentes métricas de análisis de forma diferente, y por lo tanto se puede ganar en este proceso. El código cubierto no se ha configurado en cada herramienta por simplicidad, ya que ahí no hay <<medias tintas>> es un informe el que se genera y las herramientas lo único que proporcionan es un visor de ese fichero.
504+
505+
Los recursos utilizados para la integración continua se detallan a continuación.
506+
507+
\subsubsection{Codacy}
508+
Herramienta la cual proporciona soporte a análisis automático del código fuente e identifica los problemas a medida que avanza. Su versatilidad permite desarrollar \textit{software} de manera eficiente, reduciendo el número de \textit{bugs} que se <<dejan para resolver>>.
509+
510+
A través del análisis estático de código estático, notifica problemas de seguridad, cobertura del código, así como la duplicación y la complejidad de cada fichero en cada \textit{commit} y \textit{pull request}.
511+
512+
La integración es muy sencilla, basta con crearse una cuenta asociada con la de GitHub, y una vez que se ha verificado se añade la organización a la que se pertenece y el repositorio (público) que se desea comenzar a analizar. En caso de que el repositorio sea privado, pasados los 14 días de prueba se deberá actualizar la licencia de uso a una superior.
513+
514+
\imagenRuta{../img/anexos/manual-programador/Codacy-IS-SSL}{Codacy.}{Codacy-IS-SSL}
515+
516+
En la Figura~\ref{fig:Codacy-IS-SSL} se aprecia uno de los gráficos que muestra Codacy, en este caso referido al número de \textit{issues} detectados en el código analizado. Tal y como se muestra, se ha realizado un trabajo a lo largo del mes de febrero y marzo para obtener una librería sin fallos aumentando su mantenibiliad.
517+
518+
\subsubsection{Sonar Cloud}
519+
520+
Herramienta \textit{open source} la cual permite hacer un análisis estático del código de un proyecto, entre sus fortalezas destaca su potente capacidad de ser parametrizada, entre las acciones que realiza por defecto encontramos la detección de malas prácticas, errores de código, así como problemas de seguridad que en el pasado se han visto relacionadas con alguna CVE\footnote{\textit{Common Vulnerabilities and Exposures}, lista de fallos \textit{software} (y \textit{hardware}) que en el pasado se han utilizado para ganar ventaja de alguna manera.}.
521+
522+
A pesar de que sea un proyecto \textit{open source} no es gratuita, y como todas las herramientas de estas características incluye una versión \textit{community} (gratuita) para aquellos proyectos que sean \textit{open source}.
523+
524+
El proceso de integración es sencillo, una vez registrados y asociada la cuenta con una de GitHub, se selecciona sobre qué proyecto se desea comenzar a analizar el código. El siguiente paso es definir un conjunto de reglas (si no se quiere utilizar el que se proporciona por defecto), y en cada \textit{pull request} que se realice al repositorio, Sonar Cloud analizará todos los cambios y emitirá un informe consultable desde la web así como un comentario en la propia \textit{pull request} con los resultados encontrados.
525+
526+
\imagenRuta{../img/anexos/manual-programador/SonarCloud-IS-SSL}{SonarCloud.}{SonarCloud-IS-SSL}
527+
445528
\subsection{Pruebas del sistema}

0 commit comments

Comments
 (0)