аЯрЁБс>ўџ (*ўџџџ'џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџьЅСq`№ПРbjbjqPqP8::Р џџџџџџЄРРРРРРРд<<<<P дщюhhhhhh~ Šhjjjjjj$зh? hŽР’hh’’ŽРРhhЃььь’РhРhhь’hььРРьh\ `5FB"е<А"ьTЙ0щьЇ вЇ ьЇ Рьh’’ь’’’’’ŽŽт ’’’щ’’’’дддD$ддддддРРРРРРџџџџ Resumo A tщcnica de ramos tem sido amplamente adotada em sistemas de controle de versѕes para permitir o desenvolvimento colaborativo de software. Contudo, o isolamento propiciado pelos ramos pode impor desafios no processo futuro de merge. Recentemente, empresas como Google, Microsoft, Facebook e Spotify, entre outras, tъm desenvolvido funcionalidades diretamente no ramo principal de projetos por meio da adoчуo da tщcnica de Feature Toggles. Essa tщcnica possibilita o isolamento sem a necessidade da criaчуo de ramos, potencialmente reduzindo os desafios de merge. Entretanto, faltam evidъncias na literatura sobre os benefэcios e as limitaчѕes de Feature Toggles no tocante ao desenvolvimento colaborativo de software. Nesta dissertaчуo, foram analisados os efeitos da aplicaчуo de Feature Toggles em 949 projetos de software livre, sendo estes escritos em seis linguagens de programaчуo diferentes. Primeiramente, foi identificado o momento da adoчуo de Feature Toggles em cada projeto. Em seguida, foi observado se a adoчуo de Feature Toggles implicou alteraчѕes significativas na frequъncia ou na complexidade de merges provenientes de ramos, e tambщm no nњmero de defeitos e no tempo mщdio necessсrio para corrigi-los. Foi observada uma reduчуo no esforчo de merge, mas tambщm foi possэvel detectar um aumento tanto no nњmero de defeitos quanto no tempo necessсrio para corrigi-los. Palavras-chave: Feature Toggles, desenvolvimento na linha principal, ramos, merges e defeitos. Abstract Branching has been widely adopted in version control to enable collaborative software development. However, the isolation caused by branches may impose challenges on the upcoming merging process. Recently, companies like Google, Microsoft, Facebook, and Spotify, among others, have adopted trunk-based development together with feature toggles. This strategy enables collaboration without the need of isolation through branches, potentially reducing the merging challenges. However, the literature lacks evidences about the benefits and limitations of feature toggles to the collaborative software development. In this thesis, we study the effects of applying feature toggles on 949 open-source projects written in 6 different programming languages. We first identified the moment in which each project adopted feature toggles. Then, we observed whether the adoption implied significant changes in the frequency or complexity of branch merges as well as in the number of defects and the average time to fix them. We could observe a reduction in the merge effort but also an increase in the number and the time needed to fix defects after the adoption of feature toggles. Keywords: Feature toggles, trunk-based development, branch, merges e defects. 456DUX‰‘“šЉЙъяџ # Ў Н 4 9 Ž  Ь д  $ % 8 @ Т б  c i і ћ r s ƒ ’ ” Ѓ П Х а б д №ьхьхьхьхлхьхьхбхьхьЧьбьЧьНьЧЖьНьЧьЌьбьбьЂ›ль”ьŠь”ьhФ •hћ‡6] h(A^hћ‡ hgz hћ‡h[$Цhћ‡5\h[^Vhћ‡6] hћ‡6]hн2‰hћ‡6]h[$Цhћ‡6]hЕ:_hћ‡6]h(A^hћ‡6] h[$Цhћ‡hћ‡h­Ihћ‡5;CJ\aJ3r s в д н pqПРёььуеёааЧЧ„`„gdFr?gdFr? $„dЄ `„a$„`„gdОgdО $„Єh`„a$gdFr? Р§д н HNбвopq{НПРьсйсйсйсЮйЮУhFr?hћ‡mH sH hЛ0=hћ‡mH sH hћ‡mH sH hн2‰hћ‡mH sH %hЕ?аhћ‡5;CJ\aJmH sH  61hP:p"iА‚. АЦA!А "А #‰$‰%ААФАФ Ф†œ 666666666666666666666666666666666666666666 6666666666 666666666666 666666666666666666666666666666666666666666666666666666666666666\@ёџ\ Fr?Normal$„Хdh`„Хa$ CJOJQJ_HaJmHsHtH >AђџЁ> 0Fonte parсg. padrуoTiѓџГT 0 Tabela normalі4ж l4жaі ,kєџС, 0 Sem lista Р џџџџrsвднp q П Т ˜0€€˜0€€˜0€€˜0€€˜0€€Iˆ0Iˆ0Iˆ0Iˆ0Iˆ0Т Kˆ0Ш1д Р Р Р џџ_GoBackвТ вТ ъя  (+2ЎЕЖН49Ž•–$ТЩЪб BLciіћƒŠ‹’ПХЭелтТ 289;Т Т Т х[gz "iй!;$"Л0=Fr?­I[^V(A^Е:_‚ {њ…ћ‡н2‰Ф •О[$ЦЕ?аёLпП Т џ@€˜ZyР @@џџUnknownџџџџџџџџџџџџGџ:рAxР џTimes New Roman5€Symbol3& џ:рCxР џArial7&џрџЌ@ŸCalibri"Aˆ№ФЉэ*rGпkv‡Ў Ў !№ ‰ДД24Л Л №ќџ(№џ$PџџџџџџџџџџџџџџџџџџџџџFr?2џџTЭTULOEduardo Smil PrutchiHelioўџр…ŸђљOhЋ‘+'Гй0|˜ЈДдрьќ  8 D P\dltфTЭTULOEduardo Smil PrutchiNormalHelio3Microsoft Office Word@FУ#@~Ф^aНд@J&"еЎ ўџеЭеœ.“—+,љЎ0 hp˜ Ј АИРШ а уфFundaчуo Getulio VargasЛ ц TЭTULO Tэtulo ўџџџўџџџўџџџ !"#$%&ўџџџ§џџџ)ўџџџўџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRoot Entryџџџџџџџџ РF ГKB"е+€1TableџџџџџџџџWordDocumentџџџџџџџџ8SummaryInformation(џџџџDocumentSummaryInformation8џџџџџџџџџџџџCompObjџџџџџџџџџџџџuџџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџ џџџџ РF#Documento do Microsoft Office Word MSWordDocWord.Document.8є9Вq