
#VISOFT CONFERENCE 2016 SOFTWARE#
Platforms like GitHub and GitLab have thus turned into comprehensive and cohesive modern software development environments, also offering additional mechanisms, such as code review tools and a transversal support for continuous integration and deployment. Most notably, state-of-the-art practice foresees the use of pull requests and issues, enriched by means to enable discussions among the involved people. The rise of distributed version control systems, such as git, and platforms built on top of it, such as GitHub, has triggered a change in how software is developed. This investigation lays the basis for future research on improving database code testing.

They also have more technical questions related to DB handling, mocking, parallelisation or framework/tool usage. We found that developers mostly look for insights on general best practices to test database access code.

To understand the difficulties in testing database code, we analysed 532 questions on StackExchange sites and deduced a taxonomy.

We confirm that the database is poorly tested: 46% of the projects did not cover with tests half of their database access methods, and 33% of the projects did not cover the database code at all. We first analyse the code of 72 projects mined from Libraries.io to get an impression of the test coverage for database code. In this paper, we investigate the current state-of-the-practice in testing database manipulation code. However, it is often neglected and suffers from software maintenance problems. The database manipulation code requires special attention in this context. Software testing enable development teams to maintain the quality of a software system while it evolves. Based on our analyses, we distill and discuss interesting insights and lessons learned. We illustrate DiscOrDance, using as running example the public Pharo development community Discord Server, which counts to date ~180k messages shared among ~2,900 developers, spanning 5 years of history. We present a visual analytics approach, supported by a tool named DiscOrDance, which provides numerous custom views to support the understanding of Discord servers in terms of their structure, contents, and community. However, the velocity and volatility of the contents shared and discussed on such platforms, combined with their often informal structure, makes it difficult to grasp and differentiate the relevant pieces of information. This is turning such platforms into precious information sources when it comes to searching for documentation and understanding design and implementation choices. Apart from simple text messaging and conference calls, they allow the sharing of any type of content, such as videos, images, and source code. Such real-time communication platforms are thus slowly complementing, if not replacing, more traditional communication channels, such as development mailing lists. They allow developers to discuss implementation issues, report bugs, and, in general, interact with one another. The last decade has seen the rise of global software community platforms, such as Slack, Gitter, and Discord. A large-scale empirical evaluation we performed across more than 20k apps shows encouraging preliminary results, but also highlights future challenges to overcome.
#VISOFT CONFERENCE 2016 ANDROID#
We instantiated our approach to the specific context of Android apps. To do this, FeaRS exploits “implementation patterns” (i.e., groups of methods usually implemented within the same task) learned by mining thousands of open source projects. We present FeaRS, a novel retrieval-based approach that, given the current code a developer is writing in the IDE, can recommend the next complete method (i.e., signature and method body) that the developer is likely to implement. In the best case, they can recommend a few APIs that a developer is likely to use next. While these techniques are valuable to speed up code writing, they are limited to recommendations related to the next few tokens a developer is likely to type given the current context. Code completion is one of the killer features of Integrated Development Environments (IDEs), and researchers have proposed different methods to improve its accuracy.
