SCG News

Replication Mechanisms for Reference Data

Tanja Leigh Küry. Replication Mechanisms for Reference Data. Bachelor’s thesis, University of Bern, March 2018. Details.


Growing numbers of applications interacting with each other facilitate the need to share data between various systems. The interconnected applications used to manage immigrant and asylee need the same reference data in order to consistently fulfil their purpose. This thesis examines the used replication mechanism requiring direct database access and proposes an improved design. By analysing the situation and validating alternative replication mechanisms that adhere to the defined architectural standards it was possible to propose two realistic approaches, one of which is already in development. A proof of concept using a message oriented middleware showed that extending the architecture concept might even be more future-oriented.

Posted by scg at 20 March 2018, 9:15 am comment link

JIT Feedback — what Experienced Developers like about Static Analysis

Yuriy Tymchuk, Mohammad Ghafari, and Oscar Nierstrasz. JIT Feedback — what Experienced Developers like about Static Analysis. In 26th IEEE International Conference on Program Comprehension (ICPC 2018), 2018. To appear. Details.


Although software developers are usually reluctant to use static analysis to detect issues in their source code, our automatic just-in-time (JIT) static analysis assistant was integrated into an Integrated Development Environment, and was evaluated positively by its users. We conducted interviews to understand the impact of the tool on experienced developers, and how it performs in comparison with other static analyzers. We learned that the availability of our tool as a default IDE feature and its automatic execution are the main reasons for its adoption. Moreover, the fact that immediate feedback is provided directly in the related development context is essential to keeping developers satis ed, although in certain cases feedback delivered later was deemed more useful. We also discovered that static analyzers can play an educational role, especially in combination with domain-specific rules.

Posted by scg at 15 March 2018, 1:23 pm comment link

A Shape Grammar Interpreter Using Local Coordinates For Subshape Detection

Lars Wüthrich. A Shape Grammar Interpreter Using Local Coordinates For Subshape Detection. Bachelor’s thesis, University of Bern, February 2018. Details.


Shape Grammars allow us to create complex and intricate recursive images by applying geometric transformations. Instead of rewriting strings as in text based grammars, the production rules directly operate on the geometry of a shape. However, there can be several possibilities where a given rule could be applied to a shape. The existing implementations and theoretical approaches assume that the decision where to apply a rule has to be made manually by the designer. In this work, various heuristics are considered to let the shape grammar interpreter run by itself with minimal user input at the beginning. In addition, a new method of subshape detection is presented based on point comparison in local coordinates, which is needed for the shape grammar interpreter to find subshapes to apply the rules to. This novel detection algorithm and several of the heuristics are implemented in a proof of concept interpreter and editor. They are used to create various images that would have been tedious to do in this detail by manual interaction with the interpreter.

Posted by scg at 22 February 2018, 2:15 pm comment link

The Moldable Editor

Aliaksei Syrel. The Moldable Editor. Bachelor’s thesis, University of Bern, February 2018. Details.


We present a scalable and moldable text editor modelled as a single composition tree of visual elements. It allows us to mix text and graphical components in a transparent way and treat them uniformly. As a result we are able to augment code with views by using special adornment attributes that are applied on text by stylers as part of the syntax highlighting process. We validate the model by implementing a code editor capable of manipulating large pieces of text; the Transcript, a logging tool being able to display non-textual messages; the Connector, an example dependencies browser and the Documenter, an interactive and live editor of Pillar markup documents.

Posted by scg at 13 February 2018, 2:15 pm 1 comment link

Issue Report Assessment — Assessment of Issue Report Quality and Class through Natural Language Processing

Simon Curty. Issue Report Assessment — Assessment of Issue Report Quality and Class through Natural Language Processing. Bachelor’s thesis, University of Bern, February 2018. Details.


Issue reports are a crucial aspect of software development. They enable collaboration and communication of faults and task. However, issue reports are only helpful if they provide meaningful information, which is often not the case. Such low-quality issue reports induce a multitude of problems: Developers lose time figuring out the issue. Both time needed to complete the issue and its priority are harder to estimate. Assigning issues to the right developer is more difficult. To alleviate these negative impacts, commonly a triager is taking the responsibility to assess issue reports. However, this process is time consuming and cannot fill in missing information. Since issue reports provide insight into a projects changes and faults over time, they are an often used data source for bug prediction, that is the inference of knowledge about past and future bugs. But the quality of such predictions depends on the quality of the source data. We address two factors strongly affecting the quality of issue reports: (1) issue reports have an assigned type. When the assigned type does not reflect the true nature of the report, it is said to be misclassified. An issue report classified as bug may in reality be a feature request. This Misclassification introduces bias in bug prediction and makes it harder to assign an issue to the right developer. (2) Bug reports are commonly written by hand and the reporter does not always include important information. The quality of the content of a bug report impacts the time a developer needs to spend identifying the actual issue. To tackle the misclassification problem, we propose an approach to categorize issue reports. Our classifier achieves an accuracy of 82.9% when classifying issue reports into bugs and non-bugs. For multiclass classification of issue reports by type, our model achieves an accuracy of 74.4%. Thus, our model can reliably validate datasets used for bug prediction and distinguish between issue types. To address the second problem, we propose an approach to estimate the quality of bug reports and assign them a score. This Quality Estimator is capable of giving improvement suggestions, potentially helping reporters to write more helpful bug reports. To showcase real world applications of our models we integrated both the classifier model and the Quality Estimator into a tool for issue report assessment. The tool is implemented as browser extension and allows the user to get feedback about the type of an issue report with one click. The tool is also capable of providing suggestions on how to improve a bug report based on the information already provided.

Posted by scg at 8 February 2018, 6:15 pm comment link
<< 1 2 3 4 5 6 7 8 9 10 >>
Last changed by scg on 14 August 2017