La predicció de defectes en programari és una àrea crítica dins de l'assegurament de la qualitat. Quan parlem de predir errors en un projecte que no disposa de dades històriques pròpies, recorrem a la predicció de defectes entre projectes (Cross-Project Defect Prediction, CPDP). El repte principal rau en el fet que les dades d'entrenament provenen de projectes externs, amb distribucions estadístiques diferents al projecte objectiu. Aquest desajust de distribució (distribution shift) degrada el rendiment dels models tradicionals, que assumeixen que les dades d'entrenament i prova provenen de la mateixa distribució. Per abordar aquest problema, la comunitat investigadora ha proposat tècniques d'adaptació de domini, selecció d'instàncies i sistemes de classificadors múltiples. No obstant això, la majoria dels enfocaments apliquen el mateix conjunt de classificadors a tot el projecte objectiu, sense considerar que diferents mòduls poden requerir models especialitzats.
En aquest article presentem una perspectiva tècnica i empresarial original, analitzant un marc de selecció dinàmica multietapa que opera a dos nivells: primer a nivell de projecte per triar una configuració de classificadors múltiples (MCS) que generalitzi bé sobre els projectes d'entrenament, i segon a nivell de mòdul per seleccionar, en temps de prova, els classificadors més competents per predir cada nou mòdul del projecte objectiu. Aquest enfocament és més robust davant els canvis de distribució perquè la selecció s'adapta a les característiques individuals de cada mòdul.
Des d'una òptica empresarial, implementar aquests sistemes en entorns reals de desenvolupament de programari requereix una infraestructura robusta, integració amb pipelines de CI/CD i capacitats de Cloud AWS/Azure per processar grans volums de dades de projectes i executar models de forma escalable. A Q2BSTUDIO, oferim solucions cloud que permeten desplegar models de machine learning amb alta disponibilitat i costos optimitzats.
La proposta que analitzem utilitza un sistema de classificadors múltiples amb dues etapes de selecció. A la primera etapa, s'avaluen múltiples configuracions del MCS (per exemple, diferents combinacions de classificadors base com arbres de decisió, SVM, xarxes neuronals, etc.) per trobar aquella que maximitzi la cobertura i la generalització sobre els projectes d'entrenament. Això implica mesurar mètriques com la diversitat entre classificadors i el rendiment mitjà en validació creuada. El resultat és un conjunt de classificadors experts, cadascun especialitzat en certs patrons de defectes.
A la segona etapa, quan un nou mòdul del projecte objectiu necessita ser avaluat, s'activa un mecanisme de selecció dinàmica. Per a cada mòdul, es calcula la competència de cada classificador del conjunt mitjançant mètriques de similitud local (per exemple, basades en veïns propers a l'espai de característiques). Només els classificadors amb més competència participen en la predicció final, que pot ser una votació ponderada o un stacking. Aquesta adaptació per mòdul millora significativament la precisió, ja que un classificador que funciona bé per a mòduls amb alta complexitat ciclomàtica pot no ser adequat per a mòduls amb moltes dependències externes.
En el context de aplicacions a mida, on cada projecte té requisits i patrons de codi únics, aquesta tècnica és particularment valuosa. Q2BSTUDIO desenvolupa programari personalitzat per a empreses, integrant models d'IA que prediuen defectes durant el cicle de vida del desenvolupament. Els nostres equips utilitzen frameworks de CPDP adaptatius per millorar la qualitat del producte final sense dependre de dades històriques internes.
L'experimentació realitzada amb 82 projectes de quatre conjunts de dades de referència (com PROMISE, AEEEM, i altres) mostra que l'enfocament de selecció dinàmica multietapa supera els mètodes CPDP de l'estat de l'art en la majoria dels escenaris. Les mètriques utilitzades inclouen AUC, F1-score i precisió balancejada. Els resultats evidencien que la selecció a nivell de mòdul redueix l'impacte del distribution shift, especialment quan els projectes d'entrenament i objectiu provenen de dominis molt diferents (per exemple, un sistema de gestió bancària davant d'una aplicació de comerç electrònic).
Des del punt de vista de la ciberseguretat, predir defectes no només millora l'estabilitat del programari, sinó que també ajuda a identificar vulnerabilitats abans que siguin explotades. Molts defectes de seguretat tenen el seu origen en errors de codi que podrien haver estat detectats amb models CPDP. A Q2BSTUDIO integrem auditories de codi amb sistemes de predicció de defectes per oferir un servei integral de ciberseguretat.
A més, la incorporació d'IA i agents intel·ligents en el procés de CPDP permet automatitzar la selecció de models i l'adaptació contínua. Els nostres agents IA poden monitoritzar el rendiment dels classificadors en temps real i reconfigurar el MCS sense intervenció humana. Això és especialment útil en entorns DevOps on els models s'han d'actualitzar freqüentment amb noves dades de projectes.
Un altre aspecte rellevant és l'ús de BI/Power BI per visualitzar les prediccions de defectes i les mètriques de qualitat del codi. Els dashboards interactius permeten als equips de desenvolupament identificar ràpidament els mòduls amb major risc i prioritzar les revisions de codi. Q2BSTUDIO implementa solucions de Business Intelligence que integren dades de repositoris, sistemes de CI i models de CPDP per proporcionar una visió global de l'estat del projecte.
La implementació tècnica d'aquest marc requereix manejar grans volums de dades de característiques de codi (mètriques estàtiques, dinàmiques, de complexitat, acoblament, etc.). Per a això, les capacitats de Cloud AWS/Azure són fonamentals. Utilitzem serveis com AWS SageMaker o Azure Machine Learning per entrenar i desplegar els classificadors, i bases de dades escalables com Amazon Redshift o Azure Synapse per emmagatzemar les mètriques. A Q2BSTUDIO oferim consultoria per migrar i optimitzar aquestes infraestructures cloud, garantint que els models CPDP s'executin amb baixa latència i alta disponibilitat.
En conclusió, la selecció dinàmica multietapa per a CPDP representa un avenç significatiu respecte als mètodes tradicionals. En adaptar la selecció de classificadors a cada mòdul, s'aconsegueix una major robustesa davant els canvis de distribució. Les empreses que adopten aquestes tècniques poden reduir el temps de detecció de defectes, disminuir els costos de manteniment i millorar la qualitat del programari lliurat. A Q2BSTUDIO, combinem experiència en desenvolupament d'aplicacions a mida, intel·ligència artificial, cloud computing i ciberseguretat per oferir solucions completes que integren aquestes capacitats avançades.




