Removal of design problems through refactorings: are we looking at the right symptoms?
A design problem is the result of design decisions that negatively impact quality attributes.
For example, a stakeholder introduces a design problem when he decides to addresses …
For example, a stakeholder introduces a design problem when he decides to addresses …
On the impact of exception handling compatibility on binary instrumentation
To support C++ exception handling, compilers generate metadata that is a rich source of
information about the code layout. On Linux, this metadata is also used to support stack …
information about the code layout. On Linux, this metadata is also used to support stack …
A first step towards algorithm plagiarism detection
In this work, we address the problem of algorithm plagiarism, which occurs when a
plagiarist, violating intellectual property rights, steals others' algorithms and covertly …
plagiarist, violating intellectual property rights, steals others' algorithms and covertly …
Mapping to bits: Efficiently detecting type confusion errors
The features of modularity and inheritance in C++ facilitate the developers' usage, but also
give rise to the problem of type confusion. As an ancestor class may have a different data …
give rise to the problem of type confusion. As an ancestor class may have a different data …
[Engineering paper] challenges of implementing cross translation unit analysis in clang static analyzer
G Horváth, P Szécsi, Z Gera, D Krupp… - 2018 IEEE 18th …, 2018 - ieeexplore.ieee.org
Static analysis is a great approach to find bugs and code smells. Some of the errors span
across multiple translation units. Unfortunately, separate compilation makes cross …
across multiple translation units. Unfortunately, separate compilation makes cross …
Precise explanation of success typing errors
Nowadays, many dynamic languages come with (some sort of) type inference in order to
detect type errors statically. Often, in order not to unnecessarily reject programs which are …
detect type errors statically. Often, in order not to unnecessarily reject programs which are …
Apex: automatic programming assignment error explanation
This paper presents Apex, a system that can automatically generate explanations for
programming assignment bugs, regarding where the bugs are and how the root causes led …
programming assignment bugs, regarding where the bugs are and how the root causes led …
Restrictification of function arguments
VH Sperle Campos, PR Alves… - Proceedings of the 25th …, 2016 - dl.acm.org
Pointer aliasing still hinders compiler optimizations, in spite of years of research on pointer
disambiguation. Because the automatic disambiguation of pointers is a difficult endeavor …
disambiguation. Because the automatic disambiguation of pointers is a difficult endeavor …
Automatic and scalable detection of logical errors in functional programming assignments
D Song, M Lee, H Oh - Proceedings of the ACM on Programming …, 2019 - dl.acm.org
We present a new technique for automatically detecting logical errors in functional
programming assignments. Compared to syntax or type errors, detecting logical errors …
programming assignments. Compared to syntax or type errors, detecting logical errors …
[PDF][PDF] On the detection of high-impact refactoring opportunities in programs
J Dietrich, C McCartin, ED Tempero… - arXiv preprint arXiv …, 2010 - academia.edu
We present a novel approach to detect refactoring opportunities by measuring the
participation of references between types in instances of patterns representing design flaws …
participation of references between types in instances of patterns representing design flaws …