Uncovering Dependence Clusters and Linchpin Functions – Árpád Beszédes

Dependence clusters are program elements that are mutually dependent on each other. The program elements can be any granularity, from lines of code to libraries. Why do clusters matter? Many maintenance and evolution tasks are easier if code is loosely coupled. As such, detecting clusters can support understanding, refactoring and testing, but we do not Read more about Uncovering Dependence Clusters and Linchpin Functions – Árpád Beszédes[…]

Is This Code Written in English? A Study of the Natural Language of Comments and Identifiers in Practice – Timo Pawelka

Look at this method:   This is the problem that this paper addresses. The goal is to have a tool that can determine what percentage of the code is written in a certain (natural) language. This problem is quite hard to solve, as comments and identifiers are short, majority of comments <100 chars and identifiers <30. Read more about Is This Code Written in English? A Study of the Natural Language of Comments and Identifiers in Practice – Timo Pawelka[…]

Davy Landman – Exploring the Limits of Domain Model Recovery

Davy’s aim is to try to reconstruct a domain model from source code. For this, he has manually (!) constructed a reference model from two existing Java systems: OpenPM and Endeavour. He built the model by inspecting the UI. For instance, in the UI below, there is an iteration button on project, so there should be Read more about Davy Landman – Exploring the Limits of Domain Model Recovery[…]

Michael Marcozzi – A Relational Symbolic Execution Algorithm for Constraint-Based Testing of Database Programs

The idea of Michael’s paper is to adapt constraint-based testing to database testing. The normal approach is symbolic execution: expressing path dependencies between variables and subsequently expressing constraints on them. These can then be solved with a constraint-solver. This strategy is generalized by Michael to databases, by treating databases as variables. But expressing dependencies between database Read more about Michael Marcozzi – A Relational Symbolic Execution Algorithm for Constraint-Based Testing of Database Programs[…]

Empirical Evidence of Large-Scale Diversity in API Usage of Object-Oriented Software

The idea of this paper, presented by Martin Monperrus, is to abstract over source code to analyze it more coarse-grained. With this abstraction, we can determine how diverse a certain API is used. Is it always used in the same way. The authors have mined 9.022.262 type-usages which refer to 382.774 Java classes. To their surprise, they observed Read more about Empirical Evidence of Large-Scale Diversity in API Usage of Object-Oriented Software[…]