Frontiers in AI and Software Engineering

Permanent URI for this collection

Browse

Recent Submissions

Now showing 1 - 5 of 5
  • Item
    Of Cyborg Developers and Big Brother Programming AI
    (2018-01-03) Alexandru, Carol V.; Gall, Harald C.
    The main reason modern machine learning mechanisms outperform hand-crafted solutions is the availability of high-quality data in large quantities. We observe that although many day-to-day activities in software engineering (such as bug triaging, reverting regressions, or even implementing code for properly scoped problems) could possibly be automated, we lack the necessary monitoring tools to capture all relevant information. Bug trackers and version control rely mostly on plain text, and specifications are informal or at best semi-structured. After setting the stage via a short excursion to the year 2047, we discuss how a ubiquitous AI, which can learn from every interaction a human developer has with a machine, could take over more and more of the mundane responsabilities in software engineering. We outline how this change will affect software engineering practice as well as education.
  • Item
    Performance Characterization of State-Of-The-Art Deep Learning Workloads on an IBM "Minsky" Platform
    (2018-01-03) Guignard, Mauricio; Schild, Marcelo; Bederián, Carlos S.; Wolovick, Nicolás; Vega, Augusto J.
    Deep learning algorithms are known to demand significant computing horsepower, in particular when it comes to training these models. The capability of developing new algorithms and improving the existing ones is in part determined by the speed at which these models can be trained and tested. One alternative to attain significant performance gains is through hardware acceleration. However, deep learning has evolved into a large variety of models, including but not limited to fully-connected, convolutional, recurrent and memory networks. Therefore, it appears difficult that a single solution can provide effective acceleration for this entire deep learning ecosystem. This work presents detailed characterization results of a set of archetypal state-of-the-art deep learning workloads on a last-generation IBM POWER8 system with NVIDIA Tesla P100 GPUs and NVLink interconnects. The goal is to identify the performance bottlenecks (i.e. the accelerable portions) to provide a thorough study that can guide the design of prospective acceleration platforms in a more effective manner. In addition, we analyze the role of the GPU (as one particular type of acceleration engine) and its effectiveness as a function of the size of the problem.
  • Item
    Please ... . draw me a Software Engineer
    (2018-01-03) Guelfi, Nicolas
    The objectives of this short paper are to dream about software engineering science and to think about making this dream alive. In my dream, there are no more software engineers but "senseware" engineers that build physical space and time augmentations that adapt to human direct and indirect needs. Making this dream alive could be started by providing research and development directions that might make this dream a reached target. Anyhow, it is an awaken-dream which is made and it is mainly synthesized from the author's experience in research and development of software engineering. Moving from today's software engineering nightmare in which "What You Get Is What You Get" to a dreamed world in which "What I Get Is What I Need" needs to turn science-fiction into "science-vision".
  • Item
    Learn or Earn? - Intelligent Task Recommendation for Competitive Crowdsourced Software Development
    (2018-01-03) Karim, Muhammad Rezaul; Yang, Ye; Messinger, David; Ruhe, Guenther
    Background: Competitive crowdsourced development encourages online software developers to register for tasks offered on the crowdsourcing platform and implement them in a competitive mode. As a large number of tasks are uploaded daily, the scenery of competition is changing continuously. Without appropriate decision support, online developers often make task decisions in an ad hoc and intuitive manner. Aims: To provide dynamic decision support for crowd developers to select the task that fit best to their personal learning versus earning objectives, taking into account the actual competitiveness situation. Method: We propose a recommendation system called EX2 ("EX-Square") that combines both explorative ("learn") and exploitative ("earn") search for tasks, based on a systematic analysis of workers preference patterns, technologies hotness, and the projection of winning chances. The implemented prototype allows dynamic recommendations that reflect task updates and competition dynamics at any given time. Results: Based on evaluation from 4007 tasks monitored over a period of 2 years, we show that EX2 can explore and adjust task recommendations corresponding to context changes, and individual learning preferences of workers. A survey was also conducted with 14 actual crowd workers, showing that intelligent decision support from EX2 is considered useful and valuable. Conclusions: With support from EX2, workers benefit from the tool from getting customized recommendations, and the platform provider gets a higher chance to better cover the breadth of technology needs in case recommendations are taken.