{"636107":{"#nid":"636107","#data":{"type":"event","title":"PhD Defense by Farnaz Behrang","body":[{"value":"\u003Cp\u003E\u003Cstrong\u003ETitle:\u0026nbsp;\u003C\/strong\u003ELeveraging Existing Software Artifacts to Support Design, Development, and Testing of Mobile Applications\u003C\/p\u003E\r\n\r\n\u003Cp\u003E---------------------------------\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EFarnaz Behrang\u003C\/strong\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003EPh.D. Candidate\u003C\/p\u003E\r\n\r\n\u003Cp\u003ESchool of Computer Science\u003C\/p\u003E\r\n\r\n\u003Cp\u003ECollege of Computing\u003C\/p\u003E\r\n\r\n\u003Cp\u003EGeorgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EDate:\u003C\/strong\u003E\u0026nbsp;Tuesday, June 16th, 2020\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ETime:\u003C\/strong\u003E\u0026nbsp;1:00 pm to 3:00 pm (EDT)\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ELocation:\u003C\/strong\u003E\u0026nbsp;\u003Ca href=\u0022https:\/\/bluejeans.com\/566882850\u0022\u003Ehttps:\/\/bluejeans.com\/566882850\u003C\/a\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ECommittee:\u003C\/strong\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003E---------------------------------\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Alessandro Orso (Advisor,\u0026nbsp;School of Computer Science, Georgia Institute of Technology)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Vivek Sarkar (School of\u0026nbsp;Computer Science, Georgia Institute of Technology)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Qirun Zhang\u0026nbsp;(School of\u0026nbsp;Computer Science, Georgia Institute of Technology)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Denys Poshyvanyk (Computer Science Department, William and Mary)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Sam Malek (School of Information and Computer Sciences, University of California, Irvine)\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EAbstract:\u003C\/strong\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003E---------------------------------\u003C\/p\u003E\r\n\r\n\u003Cp\u003EThere is an ever growing amount of code available and easily accessible online in public repositories, such as GitHub and Bitbucket. It is therefore not surprising that, there has been an increasing interest in analyzing the rich data available in such repositories. Despite the large number of proposed techniques that leverage existing source code, however, these techniques mostly focus on supporting coding and maintenance activities. Other important software engineering tasks, such as software design and testing, have been mostly ignored by previous work. In this dissertation, I defined automated techniques that leverage existing software artifacts to support the design, development, and testing of mobile apps.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EI defined three techniques: GUIFetch, AppTestMigrator, and GUITestGen. GUIFetch is\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ea code-search technique that takes advantage of the growing number of open source apps in public repositories to support app design and development. Given a sketch of an app\u0026#39;s screens and transitions between them, GUIFetch searches for apps in public repositories that are as similar as possible to the provided sketch, ranks them by similarity to the sketch, and then reports them to the user. GUIFetch can provide developers with a starting point for building their GUI-based apps, support early prototyping, and help designers assess whether any existing apps are similar to the one they want to develop. AppTestMigrator is a test migration technique that takes advantage of existing test cases to reduce the cost of testing mobile apps. More specifically, AppTestMigrator considers similarities between apps and migrate test cases across similar apps. Typical examples of this situation are apps that are developed independently by students as part of a class project or an assignment based on a similar specification or apps that belong to the same category, such as banking apps, which share much of their functionality and may provide GUIs that are inherently similar. GUITestGen is a technique that leverages the execution traces of human users for apps that belong to the same category to generate GUI test inputs for other apps in that category.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003ETo evaluate the effectiveness of the techniques, I implemented them as prototype tools and evaluated them through user studies and performing empirical investigations on real-world apps. The results provide evidence that the techniques are effective in supporting design, development, and testing of mobile apps.\u003C\/p\u003E\r\n","summary":null,"format":"limited_html"}],"field_subtitle":"","field_summary":"","field_summary_sentence":[{"value":"Leveraging Existing Software Artifacts to Support Design, Development, and Testing of Mobile Applications"}],"uid":"27707","created_gmt":"2020-06-09 19:24:39","changed_gmt":"2020-06-09 19:24:39","author":"Tatianna Richardson","boilerplate_text":"","field_publication":"","field_article_url":"","field_event_time":{"event_time_start":"2020-06-16T14:00:00-04:00","event_time_end":"2020-06-16T16:00:00-04:00","event_time_end_last":"2020-06-16T16:00:00-04:00","gmt_time_start":"2020-06-16 18:00:00","gmt_time_end":"2020-06-16 20:00:00","gmt_time_end_last":"2020-06-16 20:00:00","rrule":null,"timezone":"America\/New_York"},"extras":[],"groups":[{"id":"221981","name":"Graduate Studies"}],"categories":[],"keywords":[{"id":"100811","name":"Phd Defense"}],"core_research_areas":[],"news_room_topics":[],"event_categories":[{"id":"1788","name":"Other\/Miscellaneous"}],"invited_audience":[{"id":"78761","name":"Faculty\/Staff"},{"id":"78771","name":"Public"},{"id":"78751","name":"Undergraduate students"}],"affiliations":[],"classification":[],"areas_of_expertise":[],"news_and_recent_appearances":[],"phone":[],"contact":[],"email":[],"slides":[],"orientation":[],"userdata":""}}}