Sunteți pe pagina 1din 36

a sistemelor soft Modicarea incrementala

Referat la doctorat
doctorat: Modelarea conceptuala a sistemelor soft Teza Conducator s tiin tic: Prof. Dr. Bazil Prv Doctorand: Codru t-Lucian Lazar UNIVERSITATEA BABES-BOLYAI SI FACULTATEA DE MATEMATICA INFORMATICA

Martie 2009

Referat la doctorat

a sistemelor soft Modicarea incrementala

Modicarea incrementala
(Incremental Change) Modicarea incrementala adaugarea sau de noi reprezinta de func tionalitate noua ti unui sistem soft n mod iterativ. proprieta de baza a proceselor agile de este o componenta dezvoltare a softului. a evolu este o parte esen tiala tiei s i ntre tinerii unui sistem tilor mare parte a cercetarii s-a concentrat asupra activita independente:
localizarea conceptelor analiza impactului propagarea modicarii

Referat la doctorat

a sistemelor soft Modicarea incrementala

Model integrat pentru evolutia sistemelor soft

propus n contextul un model de modicare incrementala ntre tinerii softului in anul 1988 incrementale: faze pentru aplicarea unei modicari
1. 2. 3. 4. n telegerea programului generarea propunerilor de ntre tinere considerarea efectului de propagare a modicarilor revalidarea sistemului

Referat la doctorat

a sistemelor soft Modicarea incrementala

Model integrat pentru evolutia sistemelor soft (2)

Figura: Model pentru ntreg ciclul de dezvoltare al programului

Referat la doctorat

a sistemelor soft Modicarea incrementala

Model integrat pentru evolutia sistemelor soft (3)

Figura: Utilitare cu acela si model de reprezentare a programului

Referat la doctorat

a sistemelor soft Modicarea incrementala

Modelarea evolu tiei sistemelor soft folosind EIG

Evolving Interoperation Graphs (EIG) se modica n pa o aplica tie ce evolueaza si succesivi de date denita formal avnd la baza: EIG este o structura
1. setul de componente ce alcatuie ste aplica tia 2. rela tiile dintre componente 3. marcaje ale rela tiilor dintre componente
faptul ca o componenta ce s-a modicat poate semnica componenta inuen ta o alta

Referat la doctorat

a sistemelor soft Modicarea incrementala

Modelarea evolu tiei sistemelor soft folosind EIG (2)

Figura: Exemplu de graf EIG - sistem aat n stare consistenta

Figura: Exemplu de graf EIG - adaugarea clasei EventAbstr


Referat la doctorat a sistemelor soft Modicarea incrementala

Modelarea evolu tiei sistemelor soft folosind EIG (3)

Figura: Exemplu de graf EIG - vizitarea clasei EventList

Figura: Exemplu de graf EIG - vizitarea clasei Event


Referat la doctorat a sistemelor soft Modicarea incrementala

bazata pe concepte Dezvoltarea incrementala


Concept-based Incremental Development (CID) un proces agil de dezvoltare a softului, avnd la reprezinta aplicarea repetata a modicarii incrementale baza varianta ini tiala:
s 1. Faze de analiza i proiectare
1.1 extragerea de concepte (concept extraction) 1.2 localizarea conceptelor (concept location) 1.3 analiza impactului (impact analysis )

2. Faze de implementare
2.1 actualizare (actualization) 2.2 incorporarea (incorporation) (change propagation) 2.3 propagarea modicarii

modicarilor: tehnicile pentru reducerea propagarii


restructurarea (refactoring ) mpar tirea rolurilor (splitting the roles )

Referat la doctorat

a sistemelor soft Modicarea incrementala

bazata pe concepte (2) Dezvoltarea incrementala

a procesului de modicare incrementala CID Figura: Varianta nala

Referat la doctorat

a sistemelor soft Modicarea incrementala

Localizarea conceptelor n cod

este procesul de identicare a elementelor din program unde sunt implementate anumite concepte un obiectiv imediat - reducerea spa tiului de cautare

Referat la doctorat

a sistemelor soft Modicarea incrementala

Localizarea conceptelor folosind expresii regulare

prin potrivirea expresiilor regulare asupra s irurilor de caractere folosind utilitare de genul: grep, egrep, fgrep, ed, sed, awk s i lex rezultatele cautarii au o granularitate mica se pierde informa tia referitoare la structura programului

Referat la doctorat

a sistemelor soft Modicarea incrementala

Localizarea conceptelor folosind grafe de dependen te

graful de dependen te al unei proceduri (Procedure Dependence Graph - PDG)


nodurile - instruc tiuni sau regiuni de cod muchiile - posibilele transmiteri de date sau control

graf de dependen te al unui sistem (System Dependence Graph - SDG)


alcatuit din mai multe grafe de tipul PDG

Referat la doctorat

a sistemelor soft Modicarea incrementala

Loc. conceptelor folosind grafe de dependen te (2)

Figura: Exemplu de graf SDG (format din 2 grafe PDG)

Referat la doctorat

a sistemelor soft Modicarea incrementala

Loc. conceptelor folosind grafe de dependen te (3)


graf abstract de dependen te al unui sistem (Abstract System Dependence Graph - ASDG)
de la instruc s-a ridicat nivelul de analiza tiuni la componente (proceduri s i variabile globale)

Figura: Graf de tipul ASDG pentru un program

Referat la doctorat

a sistemelor soft Modicarea incrementala

Loc. conceptelor folosind grafe de dependen te (4)

Scenariu de localizare de concepte: se alege un punct de pornire (de exemplu, func tia main) componentele vizitate s i vecinii acestora constituie graful de cautare (Search Graph)
este un subgraf al grafului de tip ASDG activa, ce va vizitata la con tine ntotdeauna o componenta pasul urmator

roluri alternative pentru programator s i calculator

Referat la doctorat

a sistemelor soft Modicarea incrementala

Localizarea conceptelor folosind Information Retrieval

folosind algoritmi de Information Retrieval


exemplu: LSI (Latent Semantic Indexing) s se va indexa codul sursa i documenta tia aplica tiei utilizatorul va putea efectua interogari rezultatele sunt ordonate dupa relevan ta

Referat la doctorat

a sistemelor soft Modicarea incrementala

Loc. conceptelor folosind Software Reconnaissance

dinamica de localizare a conceptelor n cod metoda utilitar de monitorizare a acoperirii testelor seturi de cazuri de testare doua
teste n care este implicat conceptul teste n care nu este implicat conceptul

poate identica doar acele concepte ce pot controlate prin varierea datelor de testare

Referat la doctorat

a sistemelor soft Modicarea incrementala

Loc. conc. folosind Software Reconnaissance (2)

seturi de teste Figura: Exemplu de aplicare a tehnicii, folosind doua

componente comune (CCOMPS ) componente poten tial implicate (ICOMPS ) componente indispensabil implicate(IICOMPS ) componente unic implicate(UCOMPS )
un punct bun de unde se poate ncepe n telegerea programului
Referat la doctorat a sistemelor soft Modicarea incrementala

Localizarea conceptelor folosind execution slices

dinamica similara cu Software Reconnaissance tehnica tipuri de seturi de teste doua tit n: programul este impar
blocuri (secven te de instruc tiuni) decizii valori pentru variabile expresii ce calculeaza predicate ce folosesc valorile variabilelor

Referat la doctorat

a sistemelor soft Modicarea incrementala

Localizarea conceptelor folosind scenarii


dinamica similara cu Software Reconnaissance tehnica pe analiza formala a conceptelor bazata se folosesc scenarii:
mai multe concepte un scenariu implica mai multe unita ti computa un scenariu implica tionale

Referat la doctorat

a sistemelor soft Modicarea incrementala

Localizarea conceptelor folosind scenarii (2)

Figura: Laticea conceptelor

Referat la doctorat

a sistemelor soft Modicarea incrementala

Localizarea conceptelor folosind scenarii (3)


ti: Activita 1. crearea de scenarii 2. extragerea grafului static de dependen te 3. analiza dinamica
3.1 compilarea pentru nregistrare 3.2 execu tia scenariilor

4. interpretarea laticei conceptelor


4.1 4.2 4.3 4.4 selec tia scenariilor analiza conceptelor interpretarea de baza rela tionarea scenariilor cu conceptele

a dependen 5. analiza statica telor


5.1 construirea setului de inceput 5.2 inspec tia grafului static de dependen te

Referat la doctorat

a sistemelor soft Modicarea incrementala

Localizarea conceptelor folosind scenarii (4)

a conceptelor, mpar tita n categorii pentru Figura: Laticea rara conceptul f1 , care a fost expus n scenariile s1 s i s2 .

Referat la doctorat

a sistemelor soft Modicarea incrementala

Analiza impactului

dintr-o colec este formata tie de tehnici ce au ca scop codului sursa determinarea efectelor modicarii categorii de tehnici: doua
folosind dependen tele din cod folosind legaturile de urmarire ntre diverse documente (traceability links)

Referat la doctorat

a sistemelor soft Modicarea incrementala

Analiza impactului folosind PathImpact

PathImpact
dinamica tehnica (execution trace) ce execu tia programului va genera o urma va con tine evenimentele de la intrarea s i ie sirea din metode urma va compresata

CoverageImpact
folose ste doar informa tia referitoare la acoperirea codului

CollectEA
(X,Y) sunt n rela tia de Execute-After : exista cel pu daca tin un eveniment legat de metoda X dupa cel pu tin un eveniment legat de metoda Y

Referat la doctorat

a sistemelor soft Modicarea incrementala

Analiza impactului folosind PathImpact (2)

Me Ae Ar Ae Ar Be Ce Cr Br Be
pentru o execu a programului Figura: Urma tie (par tiala)

Me 1 1 Be Ce Cr Br Be Ae Ar

a execu de PathImpact Figura: Urma tiei, compresata

(PathImpact) set de impact pentru C: {C , M , B }


Referat la doctorat a sistemelor soft Modicarea incrementala

Analiza impactului folosind PathImpact (3)


M 1 A 1 B 1 C 1 D 0

ca vector de bi Figura: Execu tia reprezentata ti pentru CoverageImpact

(CoverageImpact) set de impact pentru C: {C , M , A, B } MF AF AL BF CF CL ML BL


ca secven Execute-After Figura: Execu tia reprezentata ta

(CollectEA) set de impact pentru C: {C , M , B }

Referat la doctorat

a sistemelor soft Modicarea incrementala

Analiza impactului folosind traceability links

presupune examinarea dependen telor dintre toate tipurile ti ale documenta de entita tiei, nu doar a dependen telor din codul sursa QuaTrace
se stabilesc legaturi pentru a putea efectua ulterior o a impactului analiza entita ti de documenta trei tipuri de rela tii ntre doua tie:
rela tii de reprezentare rela tii de ranare rela tii de dependen ta

Referat la doctorat

a sistemelor soft Modicarea incrementala

Analiza impactului folosind traceability links (2)

ti de documenta Figura: Exemplu de entita tie

Referat la doctorat

a sistemelor soft Modicarea incrementala

Analiza impactului folosind metoda Chianti

presupune existen ta unei suite de teste (de regresie) a codului s acces la versiunea originala i la versiunea editata atomice interdependente este extras un set de modicari la execu pentru ecare test care pica tie, se determina atomice ce ar putut sa afecteze subsetul de modicari execu tia testului

Referat la doctorat

a sistemelor soft Modicarea incrementala

Analiza impactului n modele UML


sunt suportate trei tipuri de diagrame UML:
diagrame de clase diagrame de secven ta diagrame de stari

sub-probleme:
vericarea consisten tei diagramelor modicate
reguli de consisten ta

a modicarilor detectarea s i clasicarea automata


taxonomia modicarilor

analiza impactului
a impactului reguli de analiza

prioritizarea rezultatelor analizei impactului


folosirea unei masuri de distan ta

Referat la doctorat

a sistemelor soft Modicarea incrementala

Analiza impactului n modele UML (2)

a impactului Figura: Modelul conceptual al procesului de analiza

Referat la doctorat

a sistemelor soft Modicarea incrementala

Propagarea modicarii

similara cu analiza impactului este o etapa sunt revizuite componentele (clase, metode) ce sunt afectate de modicare, reparndu-se toate inconsisten tele din cod se porne ste de la setul de componente identicate n timpul analizei impactului

Referat la doctorat

a sistemelor soft Modicarea incrementala

Framework-ul Morpheus pentru sisteme SOA

aplica se adreseaza tiilor dezvoltate folosind SOA (Service Oriented Architecture) sunt suportate trei tipuri de diagrame UML:
diagrame de cazuri de utilizare diagrame de secven ta diagrame de componente

s sunt denite formal att elementele de structura i ale documentelor, ct s semantica i rela tiile dintre ele rela tiile sunt folosite pentru a enumera toate modicarile posibile asupra elementelor constituente

Referat la doctorat

a sistemelor soft Modicarea incrementala

Direc tii de cercetare

Analiza impactului n modele executabile (Executable UML)


diagrame de clase UML Action Semantics + Action Language diagrame de stari

Referat la doctorat

a sistemelor soft Modicarea incrementala

S-ar putea să vă placă și