Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Asger Feldthaus

dblp:42/10322 · DBLP profile ↗
← Back
4ranked-venue papers
4as first author
0since 2021 · last 2014
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 4 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Program analysis · 47% Software maintenance and evolution · 41% Programming languages and type systems · 11%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis
static analysis
0.322013
Semi-automatic rename refactoring for JavaScript · OOPSLA 2013
Efficient construction of approximate call graphs for JavaScript IDE services · ICSE 2013
Software maintenance and evolution
refactoring
0.322013
Semi-automatic rename refactoring for JavaScript · OOPSLA 2013
Tool-supported refactoring for JavaScript · OOPSLA 2011
Programming languages and type systems
type checking
0.212014
Checking correctness of TypeScript interfaces for JavaScript libraries · OOPSLA 2014
Program analysis › static analysis
call graph construction
0.212013
Efficient construction of approximate call graphs for JavaScript IDE services · ICSE 2013
Program analysis
flow analysis
0.212013
Efficient construction of approximate call graphs for JavaScript IDE services · ICSE 2013
Software maintenance and evolution › refactoring
identifier renaming
0.212013
Semi-automatic rename refactoring for JavaScript · OOPSLA 2013
Program analysis › static analysis
pointer analysis
0.112011
Tool-supported refactoring for JavaScript · OOPSLA 2011
Software maintenance and evolution › refactoring
refactoring correctness
0.112011
Tool-supported refactoring for JavaScript · OOPSLA 2011
Software maintenance and evolution
software ecosystems
0.112014
Checking correctness of TypeScript interfaces for JavaScript libraries · OOPSLA 2014

Methods — techniques the papers use, named apart from their topics

static analysis · 0.2semi-automatic refactoring · 0.2field-based flow analysis · 0.2pointer analysis · 0.1
YearPublicationVenuePosition
2014 Checking correctness of TypeScript interfaces for JavaScript libraries
abstract
The TypeScript programming language adds optional types to JavaScript, with support for interaction with existing JavaScript libraries via interface declarations. Such declarations have been written for hundreds of libraries, but they can be difficult to write and often contain errors, which may affect the type checking and misguide code completion for the application code in IDEs.
Asger Feldthaus, Anders Møller
OOPSLA1
2013 Efficient construction of approximate call graphs for JavaScript IDE services
abstract
The rapid rise of JavaScript as one of the most popular programming languages of the present day has led to a demand for sophisticated IDE support similar to what is available for Java or C#. However, advanced tooling is hampered by the dynamic nature of the language, which makes any form of static analysis very difficult. We single out efficient call graph construction as a key problem to be solved in order to improve development tools for JavaScript. To address this problem, we present a scalable field-based flow analysis for constructing call graphs. Our evaluation on large real-world programs shows that the analysis, while in principle unsound, produces highly accurate call graphs in practice. Previous analyses do not scale to these programs, but our analysis handles them in a matter of seconds, thus proving its suitability for use in an interactive setting.
Asger Feldthaus, Max Schäfer, Manu Sridharan, Julian Dolby, Frank Tip
ICSE1
2013 Semi-automatic rename refactoring for JavaScript
abstract
Modern IDEs support automated refactoring for many programming languages, but support for JavaScript is still primitive. To perform renaming, which is one of the fundamental refactorings, there is often no practical alternative to simple syntactic search-and-replace. Although more sophisticated alternatives have been developed, they are limited by whole-program assumptions and poor scalability.
Asger Feldthaus, Anders Møller
OOPSLA1
2011 Tool-supported refactoring for JavaScript
abstract
Refactoring is a popular technique for improving the structure of existing programs while maintaining their behavior. For statically typed programming languages such as Java, a wide variety of refactorings have been described, and tool support for performing refactorings and ensuring their correctness is widely available in modern IDEs. For the JavaScript programming language, however, existing refactoring tools are less mature and often unable to ensure that program behavior is preserved. Refactoring algorithms that have been developed for statically typed languages are not applicable to JavaScript because of its dynamic nature. We propose a framework for specifying and implementing JavaScript refactorings based on pointer analysis. We describe novel refactorings motivated by best practice recommendations for JavaScript programming, and demonstrate how they can be described concisely in terms of queries provided by our framework. Experiments performed with a prototype implementation on a suite of existing applications show that our approach is well-suited for developing practical refactoring tools for JavaScript.
Asger Feldthaus, Todd D. Millstein, Anders Møller, Max Schäfer, Frank Tip
OOPSLA1