

{"id":345,"date":"2014-10-22T09:32:19","date_gmt":"2014-10-22T07:32:19","guid":{"rendered":"https:\/\/project.inria.fr\/se-seminars\/?p=345"},"modified":"2014-10-22T09:33:18","modified_gmt":"2014-10-22T07:33:18","slug":"phd-andre-hora","status":"publish","type":"post","link":"https:\/\/project.inria.fr\/se-seminars\/phd-andre-hora\/","title":{"rendered":"Assessing and Improving Rules to Support Software Evolution"},"content":{"rendered":"<p>What: PhD defense<br \/>\nWho: Andr\u00e9 Cavalcante Hora<br \/>\nWhen: Tuesday, 4th November 2014, 10h00<br \/>\nWhere: Amphi de l&#8217;IRCICA<\/p>\n<p>Software systems evolve by adding new features, fixing bugs or refactoring existing source code. During this process, some problems may occur (e.g., backward-incompatibility, missing or unclear method deprecation) causing evolving systems and their clients to be inconsistent or to fail, decreasing code quality. As nowadays software systems are frequently part of bigger ecosystems, such problems are even harder to handle because the impact may be large and unknown.<br \/>\nOne solution to deal with such maintainability problems is the usage of rules to ensure consistency. These rules may be created by experts or extracted from source code repositories, which are commonly evaluated in small-scale case studies. We argue that existing approaches lack of: (i) a deep understanding of the benefits provided by expert-based rules, (ii) a better use of source code repositories to extract history-based rules, and (iii) a large-scale analysis of the impact of source code evolution on the actual clients.<br \/>\n In this thesis we propose to analyze and improve rules to better support developers keeping track of source code evolution. We cover three aspects:<br \/>\n\u2022 The benefits provided by expert-based rules: we report on an investigation of rules created based on expert opinion to understand whether they are worthwhile to be adopted given the cost to produce them.<br \/>\n\u2022 The improvement of history-based rules: we propose two solutions to extract better rules from source code history.<br \/>\n\u2022 The impact of source code evolution on a software ecosystem: we undergo an investigation, in a large-scale ecosystem, on the awareness of the client systems about source code evolution.<br \/>\n We evaluated the proposed approaches qualitatively and quantitatively in real-world case studies, and, in many cases, with the help of experts on the system under analysis. The results we obtained demonstrate the usefulness of our approaches.    <\/p>","protected":false},"excerpt":{"rendered":"<p>What: PhD defense Who: Andr\u00e9 Cavalcante Hora When: Tuesday, 4th November 2014, 10h00 Where: Amphi de l&#8217;IRCICA Software systems evolve by adding new features, fixing bugs or refactoring existing source code. During this process, some problems may occur (e.g., backward-incompatibility, missing or unclear method deprecation) causing evolving systems and their clients to be inconsistent or &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/project.inria.fr\/se-seminars\/phd-andre-hora\/\">Continue reading<\/a><\/p>\n","protected":false},"author":260,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-345","post","type-post","status-publish","format-standard","hentry","category-talk","nodate","item-wrap"],"_links":{"self":[{"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/posts\/345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/users\/260"}],"replies":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/comments?post=345"}],"version-history":[{"count":2,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/posts\/345\/revisions"}],"predecessor-version":[{"id":347,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/posts\/345\/revisions\/347"}],"wp:attachment":[{"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/media?parent=345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/categories?post=345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/tags?post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}