Você está na página 1de 7

Apoyo a la evolucin y mantenimiento de aplicaciones de Android

Mario Linares-Vsquez
Departamento de Informtica - El Colegio de William y Mary
Williamsburg, VA, EE.UU., 23185
http://www.cs.wm.edu/ ~ mlinarev - mlinarev@cs.wm.edu
RESUMEN
En los ltimos aos, el mercado de aplicaciones de software
mviles (apps) ha mantenido una impresionante trayectoria
ascendente. A partir de hoy, el mercado de estos dispositivos
cuenta con ms de 850K + aplicaciones para Android, y 19
versiones de la API de Android ha sido puesto en libertad en 4
aos. Hay pruebas de que las aplicaciones de Android son muy
dependientes de las API subyacentes y APIs inestabilidad
(modificar propensin) y culpa propensin son una amenaza para
el xito de esas aplicaciones. Por lo tanto, el objetivo de esta
investigacin es crear un enfoque que ayuda a los
desarrolladores de aplicaciones Android para estar mejor
preparados para las actualizaciones de la plataforma Android, as
como las actualizaciones de las bibliotecas de terceros que
potencialmente (y sin querer) pueden afectar a sus aplicaciones
con los cambios de ltima hora y bichos. Por lo tanto, la hiptesis
de que el enfoque propuesto ayudar a los desarrolladores no
slo se ocupan de la plataforma y las actualizaciones de la
biblioteca oportunamente, pero tambin mantener (y aumentar)
la base de usuarios al evitar muchas de estas API potenciales
errores "actualizacin".

Categoras y Descriptores temticos
D.2.7 [Ingeniera de Software]: Distribucin, Mantenimiento y
Mejora

Condiciones generales
medicin
Palabras clave
Repositorios de software de minera, los estudios empricos,
Android, cambios en la API

1. INTRODUCCIN
Dado que los desarrolladores a menudo asumen correccin
detrs API subyacente, errores en las API pueden afectar
drsticamente la calidad de cdigo de cliente segn la percepcin
de los usuarios finales. Por ejemplo, Zibran et al. [18] encontr
que entre 1513 informes de errores relacionados con diversos
componentes de Eclipse, GNOME, MySQL, Python
El permiso para hacer copias digitales o impresas de parte o la
totalidad de este manual para uso personal o acadmico, se
concede gratuitamente a condicin de que las copias no se
realicen o se distribuyan con fines de lucro o ventaja comercial y
que las copias tienen esta notificacin y la cita completa en la
primera pgina . Para copiar, volver a publicar, incluirlo en
servidores o redistribuir en las listas, se requiere autorizacin
especfica previa y / o una tasa.
ICSE '14, mayo 31-junio 7, 2014, Hyderabad, India
Derechos de autor 2014 ACM 978-1-4503-2768-8/14/05 ... $
15.00.
Proyectos 3.1 y Android, 562 reportes de errores se relacionaron
con problemas de uso de la API; y alrededor de 175 (31,1%) de
esas cuestiones estaban relacionadas con la correccin de la API.
Tambin Businge et al. [2] encontr que el 44% de los 512 Eclipse
de terceros plug-ins depende de "malo" (es decir, desanimados y
no admitidas inestables) y las API que los desarrolladores siguen
utilizando las API. Adems, las API que no garantizan el apoyo
compatibilidad con versiones anteriores son tpicamente difciles
de usar debido a su inestabilidad (modificar propensin) [17]. API
inestabilidad requiere la adaptacin de los clientes (aplicaciones
en nuestro caso), para evitar la introduccin de insectos debido a
romper cambios1 (por ejemplo, supresin de un mtodo o una
clase, la introduccin de nuevos argumentos a un mtodo, los
cambios en el conjunto de excepciones producidas por un
mtodo).
Estabilidad y culpa propensin en la API de Android es un tema
sensible y oportuna, dadas las frecuentes lanzamientos y el
nmero de aplicaciones que utilizan estas API. Por ejemplo, el
cambio y la culpa la propensin de la API de Android son una
amenaza para el xito de aplicaciones de Android [8], en el
sentido de que las API utilizadas por aplicaciones exitosas son
significativamente menos cambios y fallos susceptibles que las
API utilizadas por el xito aplicaciones. Por otra parte, el impacto
de los principales cambios o errores en la API podra ser un factor
importante para el desarrollo de aplicaciones de Android ya que
las versiones importantes de Android se liberan tan rpidamente
como cada uno a seis meses. Adems, los estudios previos de
Mojica-Ruiz et al. [13, 12] y Syer et al. [16] demostraron que las
apps Android dependen en gran medida de las API de Android
mediante el uso de la herencia o de la API de llamadas.
En cuanto al anlisis de los datos de errores en la plataforma
Android, se han publicado pocos estudios. Martie et al. [9]
analizaron los debates en el cdigo abierto de seguimiento de
incidencias proyecto Android y las principales conclusiones son
que (i) error de ejecucin Android era una caracterstica
problemtica de la plataforma Android y (ii) el nuevo recolector
de basura en Android Gingerbread podra haber resuelto los
problemas con el tiempo de ejecucin y grficos aplicaciones
Android que utilizan bibliotecas de grficos de gran peso.
Assaduzzaman et al. [1] minada cambios e informes de errores en
Android para entender las circunstancias detrs de los cambios
que introdujeron los insectos. Los vnculos entre los insectos y los
cambios se identificaron mediante la bsqueda de palabras clave
en los mensajes de confirmacin, y comparando la similitud
textual entre los informes y los mensajes de cometer. Una de las
conclusiones es que los cambios que introducen errores son ms
grandes que el cambio promedio se compromete.
Dado que los perodos de liberacin de las API de Android son
cortos, es posible que los cambios de ltima hora aparecen en los
paquetes y clases que son particularmente propensos a cambiar;
la rpida evolucin de las API tambin podra explicarse debido a
un gran nmero de

1 Los cambios provocan una aplicacin creada con una versin
anterior del componente para romperse bajo una versin ms
reciente.
necesarios hot-fixes. Por lo tanto, rompiendo los cambios y
errores en las API podra afectar la calidad de las aplicaciones de
Android segn la percepcin de los consumidores.
Creemos que nuestro programa de investigacin puede ayudar a
los desarrolladores de aplicaciones de Android para superar estas
dificultades. Nuestro principal objetivo es desarrollar un
programa de investigacin que pueda proporcionar los
urbanizadores con ideas para la replicacin de aplicaciones
exitosas recetas o evitar aplicaciones fallidas recetas, y crear un
enfoque respaldado por un sistema de recomendacin de que es
capaz de: (i) advierten a los desarrolladores cuando la plataforma
o biblioteca cambia podan impacto de la calidad de las
aplicaciones debido al impacto de los principales cambios y
errores; y (ii) sintetizar ejemplos de los cambios que se deben
aplicar para adaptar las aplicaciones a los cambios en las API
subyacentes.
En este trabajo se describe la investigacin preliminar (Seccin
2) que nos proporcion algunas pruebas acerca de la naturaleza
de las aplicaciones de Android y el impacto de las API de Android
cambio y falla propensin. Por ejemplo, con base en los
resultados de nuestro estudio preliminar [8], creemos que
identifica los cambios y errores en las API no slo pueden ayudar
a resolver muchos problemas de la API en la aplicacin, sino
tambin ayudar a mantener sus valoraciones de los usuarios.
Adems, se describe el mtodo de investigacin propuesto
(Seccin 3) y las contribuciones esperadas (Seccin 4).

2. INVESTIGACIN PRELIMINAR
Con el fin de entender y validar si las API pueden afectar la
calidad de las aplicaciones segn la percepcin de los usuarios
finales, se realizaron dos estudios preliminares empricos sobre la
reutilizacin de aplicaciones de Android y la relacin entre el
xito de aplicaciones de Android y el cambio / fallo la propensin
de las API. Aunque la cantidad de reutilizacin en aplicaciones de
Android fue estudiado por Mojica Ruiz et al. [13, 12] y Syer et al.
[16], hemos querido investigar profundamente la dependencia de
aplicaciones de Android en la plataforma. Adems, dado que no
haba trabajo anterior sobre la relacin entre el xito de las
aplicaciones y de la plataforma subyacente, analizamos esa
relacin y publicamos los resultados [8]. El estudio realizado por
Harman et al. [7] es ms cercana a la nuestra, sin embargo, se
analizaron las aplicaciones BlackBerry y mostraron

aplicaciones, Android portado a BlackBerry (Android-BB)
aplicaciones y Java Mobile Edition (JME) apps2. Adems de los
tipos de reutilizacin analizados en los estudios por Mojica Ruiz
et al. [13,
12] (por ejemplo, la clonacin de clases y herencia), que mide la
cantidad de reutilizacin mediante la implementacin de las
interfaces, las llamadas a las clases y los mtodos de la API como
en [16]. En el caso de la reutilizacin por clonacin de clases, que
se bas en la tcnica Software Bertillonage [5,
4] para identificar cuando se clona una clase a travs de varias
aplicaciones, mediante la comparacin de las firmas de las clases.
En el caso de la reutilizacin por herencia / aplicacin, analizamos
bytecodes adoptar la definicin que clases API / interfaces son
extendidos / implementado con mayor frecuencia. Medimos la
reutilizacin API analizando que llamadas a la API (clases y
mtodos) estn siendo utilizados por los archivos de cada uno de
apli-cacin. Por ltimo, se incluyeron en el estudio un mecanismo
de reutilizacin nica para la API de Android, es decir, el objeto
Intencin. En otras palabras, tambin identificado que se utilizan
y volver a utilizar con ms frecuencia en androide intentos.
Nuestros resultados presentan una nueva perspectiva sobre la
reutilizacin en aplicaciones mviles Java, y podra ser utilizado
como una base para el desarrollo de sistemas de
recomendaciones para apoyar a los desarrolladores. Llegamos a
la conclusin de que las aplicaciones mviles Java dependen ms
de las API de telfonos especficos (Android y JME) y bibliotecas
de terceros que en el SDK Java. En cuanto a las bibliotecas de
terceros utilizados por aplicaciones de Android, nos encontramos
con que juegan un papel significativo en el desarrollo de
aplicaciones mviles, especialmente los anuncios de Google y el
estndar JSON.
En promedio, el 50% de las clases en las aplicaciones mviles Java
analizados reutilizar clases o mtodos de una de las API basadas
en Java (es decir, Android, Java SDK, JME, bibliotecas de terceros)
para el desarrollo mvil. Adems, en promedio, 15% de las clases
en las aplicaciones mviles Java reutilizar clases base y los
contratos de diseo (es decir, interfaces) de una de las API
basadas en Java para el desarrollo mvil; y la proporcin
promedio de las clases de la reutilizacin de las firmas de clase en
aplicaciones mviles Java es superior al 50% en las tres
plataformas analizadas.
Tambin se encontr que la intencin VISTA en Android se
prefiere como una intencin genrica de usos mltiples para el
lanzamiento de acciones que las intenciones diseados con un
propsito especfico (por ejemplo, DIAL). desde
3
una fuerte correlacin entre las calificaciones de los usuarios y el
grado de

la lista oficial de los posibles intentos

, Se encontr que 62 fueron
descargas de aplicaciones, y la falta de correlacin entre el precio
y las descargas.

2.1 Reutilizacin de Aplicaciones Android
Para mantener la ventaja competitiva en el mercado de las
aplicaciones, los urbanizadores tienen que escribir aplicaciones
mientras que el seguimiento de todo el ecosistema que est
constantemente cambiando a un ritmo rpido (por ejemplo, las
nuevas capacidades de hardware, servicios en evolucin y API).
Una de las tcnicas de los desarrolladores pueden utilizar para
mantener la ventaja competitiva es la reutilizacin del software.
Sin embargo, para aplicaciones mviles que slo haba pocos
estudios [13, 12, 16, 7, 10, 11] que den evidencia de cmo las
aplicaciones mviles estn diseadas o implementadas, la
cantidad de reutilizacin en aplicaciones mviles, y sus
implicaciones. Adems, segn Minelli y Lanza [11], las apps
Android confan heav-lia en APIs de terceros, y algunas
aplicaciones reutilizar APIs de terceros copiando todo el cdigo
fuente de las bibliotecas. Este tipo de reutilizacin, llamado
archivo de clonacin o la clonacin de clase, tiene implicaciones-
SEV ral para la concesin de licencias de software y es menos
evidente cuando las aplicaciones se distribuyen en paquetes
compilados (por ejemplo, cdigo de bytes), como en el caso de
los archivos APK para aplicaciones de Android.
Para explorar profundamente la dependencia de aplicaciones de
Android en las API, se analizaron las mltiples formas de
reutilizacin de cdigo a travs de diferentes tipos de
aplicaciones mviles que usan Java como la plataforma
subyacente. En particular, analizamos su reutilizacin en 28.562
Android

instancias y que los 44 intentos de accin diferentes no eran
incluso se utiliza una vez.

2.2 Fallos y Cambio propensin de Android
API
Nos empricamente analizarn y comunicarn una slida
evidencia emprica sobre la relacin entre el xito de 7097
aplicaciones gratuitas para Android (en trminos de valoraciones
de los usuarios) y la estabilidad y la culpa la propensin de la API
de Android utilizada [8]. Nos centramos slo en la API oficial de
Android, que es utilizado principalmente por las apps Android;
Sin embargo, como parte de nuestro plan de investigacin,
vamos a considerar tambin las API de terceros utilizados por las
aplicaciones. Hemos explotado las votaciones aplicaciones
medias en Google Play4 como una medida de su xito. Para
medir la propensin a la culpa, se utiliz el nmero total de
errores corregidos en el API utilizado; para la estabilidad
(modificar propensin a), se utiliz el nmero de cambios a nivel
de mtodo a lo largo de tres categoras: (i) cambios genricos
(incluyendo todo tipo de cambios), (ii) los cambios aplicados al
mtodo

2 Este estudio fue presentado a la revista Journal of Empirical
Soft-ware de ingeniera y que todava est en proceso de revisin.
3 http://developer.android.com/reference/android/
contenido / Intent.html
4 http://play.google.com
firmas, y (iii) los cambios aplicados a las excepciones producidas
por los mtodos.
A partir de hoy, se extrajeron un total de 4.816 clases de API
utilizadas en archivos APK (es decir, el formato de archivo
utilizado para distribuir los mapas de Android), y la de errores y
cambiar la historia de esas clases de la API en un perodo que va
desde septiembre 2009 a enero 2013 para una total de 4.781
actividades de correccin de errores y cambios de 370,180 de los
mtodos. Para podar las calificaciones poco fiables, slo se
consideran las aplicaciones que tienen por lo menos n (por
ejemplo, n = 10) votos. Identificamos correccin de errores
comete actividades por la minera expresiones regulares
contienen ID de emisin y la palabra clave "arreglo" en el Git
cometer notas (por ejemplo, "Solucionado el problema # ID" o
"asunto ID") como en Fischer et al. [6]. Para la identificacin de
los cambios, se utiliz un analizador de cdigo desarrollado en el
contexto del proyecto Markos Europea
(http://markosproject.berlios.de) para comparar las APIs antes y
despus de cada comprometemos a un nivel de grano fino. El
analizador de cdigo analiza el cdigo fuente y clasifica los
cambios que se producen en los mtodos en tres tipos: (i) cambio
de medicamentos genricos (incluyendo todo tipo de cambios);
(ii) los cambios aplicados al mtodo de sig-naturaleza (es decir, el
cambio de visibilidad, cambio de tipo de cambio, el parmetro
agregado, parmetro de cambio re-movido, tipo de parmetro, el
mtodo de cambio de nombre); y (iii) los cambios aplicados al
conjunto de excepciones producidas por los mtodos.
Nuestros hallazgos muestran que las API utilizadas por
aplicaciones exitosas son significativamente menos propensas a
fallos de las API utilizadas por aplicaciones fallidas [8]. Los
resultados de nuestro estudio demuestran que aplicaciones de
Android que tiene mayor xito suelen utilizar las API que son
menos fallos y cambiar-propensos que las aplicaciones tengan
xito menor. Por ejemplo, entre 7097 aplicaciones que hemos
analizado, las 50 aplicaciones menos exitosos usan APIs que son
500% ms propensos a fallos y un 333% ms de cambio
propensos que el promedio de las API utilizadas por las 50
aplicaciones ms exitosas. API utilizadas por las aplicaciones
exitosas son tambin significativamente menos propensos que el
cambio API utilizadas por las aplicaciones sin xito, incluso
cuando los cambios afectan las firmas de mtodos y mtodos
especialmente las pblicas. En su lugar, los cambios en el
conjunto de excepciones producidas por los mtodos no se
relacionaban significativamente con el xito de aplicaciones.
Finalmente, un anlisis manual de los comentarios de los usuarios
y registros de cambios API nos permiti encontrar ejemplos que
proporcionan un soporte tipo cualitativo a tales hallazgos
empricos. En resumen, aunque debe quedar claro que la falta de
xito de una aplicacin puede depender de varios factores, los
desarrolladores deben elegir cuidadosamente las APIs para ser
utilizados en sus aplicaciones porque las API de falla propensos
puede en causar averas o accidentes vez se traduce en
aplicaciones. Adems, los cambios de la API pueden
desencadenar la necesidad de actualizaciones de aplicaciones
frecuentes que pueden a su vez introducir nuevos errores y en
general afecta a la funcionalidad de las aplicaciones.

3. ENFOQUE DE INVESTIGACIN
Nuestro plan de investigacin se centra en el apoyo a la evolucin
y mantenimiento de aplicaciones de Android, desde el punto de
vista de la gestin y mitigacin del impacto de los cambios de
ltima hora y los insectos en la calidad apps '. Por lo tanto, al
principio estamos interesadas en detectar cuando una nueva
versin de la API y libreras de terceros Android representan un
riesgo para el cdigo de cliente (por ejemplo, aplicaciones) desde
el punto de vista de los cambios de ltima hora o cambios que
introducen errores (cambios riesgosos ). Adems, vamos a identi-
ficar cuando una nueva versin tiene nuevas caractersticas que
podran aumentar el xito de las aplicaciones. Posteriormente,
estamos interesados en la recomendacin de soluciones que
ayudan a los desarrolladores para mitigar el impacto de los
cambios de riesgo, y la recomendacin de ejemplos sobre cmo
implementar nuevas caractersticas proporcionadas por la API.
Ambos enfoques (anlisis de cambio de APIs y la solucin reco-

cin) se validar mediante la implementacin de un sistema de
recomendacin que ser utilizado por los desarrolladores de
Android.

3.1 Deteccin de Cambios en las API
Consideramos que los siguientes tipos de cambios en la API como
los que deben ser manejados y mitigados por los desarrolladores
de Android como parte de la evolucin / mantenimiento de
aplicaciones:

Cambios importantes: cambios al elemento de cdigo tales como
deleciones clase / mtodo, las modificaciones de los parmetros
del mtodo, y modificaciones en el conjunto de excepciones
producidas por los mtodos. Este tipo de cambios se detect
utilizando el mismo enfoque que en nuestro trabajo previo [8].

Buggy cambia: esto incluye los errores en las API que no han sido
resueltos, y errores que han sido introducidas por los nuevos
cambios, pero no se han detectado an. La primera serie de
errores ser detectado mediante el uso de nuestro enfoque en
[8]; este ltimo conjunto se detect mediante el uso de tcnicas
de prediccin de fallos.

Cdigo Smelly aunque APIs con las ocurrencias de los olores de
cdigo no representan un riesgo directo para las aplicaciones,
advirtiendo a los desarrolladores acerca de la existencia de
cdigo maloliente podra ayudar a comprender el riesgo. Cdigo
huele ser detectado mediante el uso de un enfoque reciente
propuesto por Palomba et al. [15].

Nuevas caractersticas: cambios representados por las nuevas
clases o mtodos aadidos a las API (por ejemplo, nuevos
Propsitos). Estos cambios se pueden detectar mediante el uso
de un enfoque que se construir en la parte superior de nuestro
anterior trabajo [8].

3.2 Acciones Recomendar y Soluciones
Dado un objetivo APK, se extraer el conjunto de APIs (clases y
mtodos del SDK de Android y libreras de terceros) utilizados por
la aplicacin para detectar los cambios de ltima hora, los
cambios en buggy y cdigo maloliente en esas APIs. En el caso de
cambios de ltima hora, las acciones sern notificados usando
patrones predefinidos para cada tipo de romper el cambio. Por
ejemplo, si se agrega una excepcin a un mtodo de API utilizado
por la aplicacin, una solucin de plantilla podra ser "Aadir un
bloque catch para controlar la excepcin <Excepcin> al bloque
try-catch en el mtodo <package.Class.method> ".
Para los cambios en buggy y cdigo maloliente, se presentarn
las recomendaciones como una notificacin que describe la
posibilidad de errores en las API utilizadas por la aplicacin, y las
ocurrencias del cdigo de los olores.
Para las nuevas caractersticas proporcionadas por la API, nuestro
objetivo es proporcionar a los desarrolladores un enfoque para la
visualizacin de ejemplos de usos de la API, ya que tambin se
llev a cabo en nuestro trabajo previo [14]. Moritz et al. [14]
proponen un mtodo para detectar y visualizar los ejemplos de
uso de la API por (i) la bsqueda de APIs similares utilizando
modelos relacionales Tema [3], y (ii) que permite al desarrollador
para explorar un espacio de software definido por las
aplicaciones que utilizan la API de destino. Este ltimo podra ser
una limitacin porque la falta de ejemplos de aplicaciones de
cdigo abierto reales utilizando las aplicaciones recientemente
lanzadas. Por lo tanto, adems de las aplicaciones de cdigo
abierto en repositorios tales como F-droid (https://f-droid.org/),
nos pondr en un ndice de las aplicaciones que se lanzan como
ejemplos dentro de la liberacin del SDK correspondiente, y los
casos de prueba de APIs.
Las recomendaciones aqu descritas presentan una versin inicial
de nuestra investigacin propuesta. Ms plantillas y formas
para la descripcin de las acciones / soluciones sern exploradas
y definidas como parte del programa de investigacin.

4. CONTRIBUCIONES
Nuestro programa de investigacin se centra en el apoyo a
Android de-nizadores para mitigar el impacto negativo de los
cambios en la API. Nuestro trabajo ya ha contribuido con la
evidencia emprica slida sobre la relacin entre el cambio y la
propensin a la culpa de la API de Android y el xito de las
aplicaciones que utilizan esa API. Tenemos la intencin de
ampliar esta investigacin [8] mediante el anlisis de bibliotecas
de terceros, y otros factores que podran afectar a las
aplicaciones de xito. En segundo lugar, vamos a disear un
enfoque para identificar los diferentes tipos de cambios en las
API que podran introducir errores en las aplicaciones, o podran
ser considerados como cambios importantes. Este enfoque
podra ser utilizado por los diseadores de la API para validar la
calidad de las API antes de lanzar una nueva versin.
Por ltimo, vamos a disear tcnicas para identificar
automticamente las acciones y soluciones que se podran aplicar
a las aplicaciones de Android como una reaccin a los cambios de
la API. Aunque nuestro objetivo no es el de adaptar
automticamente las aplicaciones a los cambios en la API,
creemos que nuestro trabajo contribuir al estado-del-arte de
cdigo adaptacin automtica mediante la definicin de las
plantillas de las acciones que podran impulsar la adaptacin
proceso.Por , utilizando nuestro enfoque a los desarrolladores de
Android podrn analizar el impacto de los cambios de la API y los
insectos, y luego reaccionar oportuna de tal manera que las
nuevas versiones de las API no afectar a la calidad de las
aplicaciones y las valoraciones de los usuarios.

5. AGRADECIMIENTOS
Nos gustara agradecer a Gabriele Bavota, Carlos Bernal-
Crdenas, Massimiliano Di Penta, y Rocco Oliveto por su apoyo
en esta investigacin. Este trabajo es apoyado en parte por las
NSF CCF-1016868 y NSF CARRERA-1253837 subvenciones. Las
opiniones, resultados y conclusiones expresados en este
documento son de los autores y no reflejan necesariamente las
de los patrocinadores.

6. REFERENCIAS
[1] M. Assaduzzaman, M. Bullock, C. Roy, y
K. Schneider. Bug introducir cambios: Un estudio de caso con
Android. En 9 Conferencia de Trabajo IEEE sobre Minera
repositorios de software (MSR'12), pginas 116-119,
2012.
[2] J. Businge, A. Serebrenik y MGJ van den Brand.
Eclipse uso de la API: lo bueno y lo malo. software
Diario de Calidad, 2013.
[3] J. Chang y D. M. Blei. Modelos relacionales jerrquicas para las
redes de documentos. Anales de Estadstica Aplicada,
2010.
[4] J. Davies, marco alemn, MW Godfrey, y A. Hindle.
Bertillonage Software determinar la procedencia de los artefactos
de desarrollo de software. Ingeniera del Software Emprica,
2012.
[5] J. Davies, marco alemn, MW Godfrey, y AJ
Hindle. Bertillonage Software: Encontrar el origen de una
entidad. En la Conferencia de Trabajo IEEE sobre Minera
repositorios de software (MSR'11), 2011.

[6] M. Fischer, M. Pinzger, y H. Gall. Llenar una base de datos de
la historia de liberacin de los sistemas de control de errores y
control de versiones. En 19 Conferencia Internacional de
Mantenimiento de Software (ICSM 2003), 22 a 26 septiembre
2003, Amsterdam, Pases Bajos, pginas 23 -. De 2003 [7] M.
Harman, Y. Jia, y Y. Zhang. Minera App Store
y anlisis: Msr para las tiendas de aplicaciones. En 9 Conferencia
de Trabajo IEEE sobre Minera repositorios de software (MSR'12),
pginas 108-112, 2012.
[8] M. Linares-Va'squez, G. Bavota, C. Bernal-Crdenas, MD
Penta, R. Oliveto, y D. Poshyvanyk. CAMBIO DEL API y la
propensin culpa: una amenaza para el xito de aplicaciones de
Android. En novena reunin conjunta de la Conferencia Europea
de Ingeniera del Software y el 21 Simposio SIGSOFT ACM sobre
los Fundamentos de Ingeniera de Software (ESEC / FSE '13),
pginas 477-487, 2013.
[9] L. Martie, V. Palepu, H. Sajnani y C. Lopes. Errores de moda:
tendencias temticas en los informes de fallos Android. En 9
Conferencia de Trabajo IEEE sobre Minera repositorios de
software (MSR'12), 2012.
[10] R. Minelli. Analytics de software para aplicaciones mviles.
Tesis de Maestra, 2012.
[11] R. Minelli y M. Lanza. Analticas de software para
aplicaciones mviles: Perspectivas y lecciones aprendidas. En la
17 Conferencia Europea sobre Mantenimiento de Software y
Reingeniera, pgina para que aparezca, 2013.
[12] I. Mojica, B. Adams, M. Nagappan, S. Dienst,
T. Berger, A. y E. Hassan. Un estudio emprico a gran escala sobre
la reutilizacin del software en aplicaciones mviles. IEEE
Software Nmero especial sobre la prxima generacin de
computacin mvil,
2013.
[13] I. Mojica Ruiz, M. Nagappan, B. Adams, y
A. Hassan. Entender su reutilizacin en el mercado Android. En 20
Conferencia Internacional IEEE sobre el Programa de
Comprensin (ICPC'12), pginas 113-122, 2012.
[14] E. Moritz, M. Linares-Va'squez, D. Poshyvanyk,
M. Grechanik, C. McMillan, y M. Gethers. Exportacin: Deteccin
y visualizacin de usos api en repositorios de cdigo fuente de
gran tamao. En 28 Conferencia Internacional IEEE / ACM sobre
Automated Software Engineering (ASE'13), pginas 646-651,
2013.
[15] F. Palomba, G. Bavota, MD Penta, R. Oliveto, AD
Luca y D. Poshyvanyk. La deteccin de los malos olores en el
cdigo fuente utilizando la informacin de historial de cambios.
En 28 Conferencia Internacional IEEE / ACM sobre Automated
Software Engineering (ASE'13), pginas 268-278, 2013.
[16] D. Syer, B. Adams, Y. Zou, y A. Hassan. Explorando el
desarrollo de micro-aplicaciones: Un estudio de caso sobre las
plataformas Blackberry y Android. En 11 Conferencia
Internacional de Trabajo IEEE en Cdigo Fuente Anlisis y
Manipulacin (SCAM'11), pginas 55-64,
2011.
[17] M. Zibran. Lo que hace que las API difcil de usar?
Revista Internacional de Ciencias de la Computacin y
Network Security (IJCSNS), 8 (4): 255-261, 2008.
[18] M. Zibran, F. Eishita y C. Roy. til, pero utilizable? factores
que afectan a la facilidad de uso de las API. En 18 Conferencia
de Trabajo sobre Ingeniera Inversa (WCRE'11), pginas
151-155, 2011.

Você também pode gostar