Reference number : GC-2017-Q1-02767, amendment number : , agreement type : G, recipient legal name : Antoniol, Giuliano (École Polytechnique de Montréal), recipient country : CA, recipient province : nan, recipient city : Quebec|Québec, recipient postal code : nan, program name english : Discovery Grants Program - Individual, program name french : Programme de subventions à la découverte - individuelles, program purpose english : The long-term goal of this research program is to leverage software analytics, deep learning and search based approaches for rapid software evolution. In a 2012 blog post by IBM titled &ldquo;Why Big Companies Are Embracing Open Source,&rdquo; the reduction of cost is cited as one of the most important factors that prompts companies to integrate open source code into their systems. Similarly, Black Duck conducted a survey that reinforced the rapid and increasing commercial adoption of open source software. In their 2016 survey &ldquo;Future of Open Source,&rdquo; 90% of the companies responded that they use open source code, and this number has more than doubled from Black Duck&rsquo;s 2010 survey. However, software reuse and rapid evolution is still quite problematic. Indeed, in a recent study by Bauer et al. on reuse at Google, developers identified the following three main problems impairing software reuse: difficulty to adapt the component to developers&rsquo; needs, explosion of dependencies and license incompatibility. Developers also highlighted the ripple effects caused by changes in reused artifacts as problematic. 
 
The problem is: given an application and the new version of a component causing incompatibility, find a set of replacing components that implement needed functionalities while minimize the adaptation effort, minimize the set of added dependencies and are compatible with the application license and architecture. The program short term goal is to develop a framework to facilitate the rapid evolution of software applications. It combines three components: i) a repository analytic/mining platform; ii) an application recommendation engine ; and iii) a user guided search optimization approach. Our platform is more complex than the single components and it requires three different research thrusts. It is neither simply a code search engine, nor a data mining or data analytics engine or a recommendation engine. From a high-level user perspective, the framework takes sample code or natural language queries regarding a component or a component desired functionality and, if available, an existing application. It will extract the application as-is architecture and relevant information; it will use the query input and extracted information to query against a database of mined applications. The user can also specify constraints and preferences so that the output is more relevant to the user&rsquo;s goals. Our framework will be instantiated for Java, C, C++ and mixed (Java, C and C++) systems. It will promote software reuse and reduce software evolution costs. In fact, given an application and a to be replaced component it will reduce manual search, verification and adaptation effort; it will support the user in the search of components matching constraints, preferences and a query, thus alleviating the daunting task to manually search for and inspect unlikely applications/components combinations., program purpose french : The long-term goal of this research program is to leverage software analytics, deep learning and search based approaches for rapid software evolution. In a 2012 blog post by IBM titled &ldquo;Why Big Companies Are Embracing Open Source,&rdquo; the reduction of cost is cited as one of the most important factors that prompts companies to integrate open source code into their systems. Similarly, Black Duck conducted a survey that reinforced the rapid and increasing commercial adoption of open source software. In their 2016 survey &ldquo;Future of Open Source,&rdquo; 90% of the companies responded that they use open source code, and this number has more than doubled from Black Duck&rsquo;s 2010 survey. However, software reuse and rapid evolution is still quite problematic. Indeed, in a recent study by Bauer et al. on reuse at Google, developers identified the following three main problems impairing software reuse: difficulty to adapt the component to developers&rsquo; needs, explosion of dependencies and license incompatibility. Developers also highlighted the ripple effects caused by changes in reused artifacts as problematic. 
 
The problem is: given an application and the new version of a component causing incompatibility, find a set of replacing components that implement needed functionalities while minimize the adaptation effort, minimize the set of added dependencies and are compatible with the application license and architecture. The program short term goal is to develop a framework to facilitate the rapid evolution of software applications. It combines three components: i) a repository analytic/mining platform; ii) an application recommendation engine ; and iii) a user guided search optimization approach. Our platform is more complex than the single components and it requires three different research thrusts. It is neither simply a code search engine, nor a data mining or data analytics engine or a recommendation engine. From a high-level user perspective, the framework takes sample code or natural language queries regarding a component or a component desired functionality and, if available, an existing application. It will extract the application as-is architecture and relevant information; it will use the query input and extracted information to query against a database of mined applications. The user can also specify constraints and preferences so that the output is more relevant to the user&rsquo;s goals. Our framework will be instantiated for Java, C, C++ and mixed (Java, C and C++) systems. It will promote software reuse and reduce software evolution costs. In fact, given an application and a to be replaced component it will reduce manual search, verification and adaptation effort; it will support the user in the search of components matching constraints, preferences and a query, thus alleviating the daunting task to manually search for and inspect unlikely applications/components combinations., agreement title english : A framework for rapid software application evolution, agreement title french : A framework for rapid software application evolution, agreement number : RGPIN, agreement value : 210000.0, agreement start date : 2017-05-10, agreement end date : nan, description english : nan, description french : nan, expected results english : nan, expected results french : nan, additional information english : Grant or Award spanning more than one fiscal year. (2017-2018 to 2022-2023), additional information french : Subvention ou bourse octroyée s'appliquant à plus d'un exercice financier. (2017-2018 à 2022-2023), owner organization : nserc-crsng, owner organization title : Natural Sciences and Engineering Research Council of Canada | Conseil de recherches en sciences naturelles et en génie du Canada