Arie van Deursen

ORCID: 0000-0003-4850-3312
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Software Engineering Research
  • Advanced Software Engineering Methodologies
  • Software System Performance and Reliability
  • Software Engineering Techniques and Practices
  • Software Testing and Debugging Techniques
  • Software Reliability and Analysis Research
  • Service-Oriented Architecture and Web Services
  • Model-Driven Software Engineering Techniques
  • Advanced Malware Detection Techniques
  • Open Source Software Innovations
  • Logic, programming, and type systems
  • Spreadsheets and End-User Computing
  • Business Process Modeling and Analysis
  • Scientific Computing and Data Management
  • Web Applications and Data Management
  • Web Data Mining and Analysis
  • Statistics Education and Methodologies
  • Advanced Database Systems and Queries
  • Big Data and Business Intelligence
  • Data Stream Mining Techniques
  • Topic Modeling
  • Natural Language Processing Techniques
  • Web Application Security Vulnerabilities
  • Formal Methods in Verification
  • Distributed and Parallel Computing Systems

Delft University of Technology
2016-2025

Leibniz University Hannover
2023

Polytechnique Montréal
2018

William & Mary
2018

University of Lisbon
2017

Radboud University Nijmegen
1973-2015

University of Victoria
2010

Centrum Wiskunde & Informatica
1999-2008

College of Western Idaho
1996-2004

GGD Amsterdam
2002-2003

We survey the literature available on topic of domain-specific languages as used for construction and maintenance software systems. list a selection 75 key publications in area, provide summary each papers. Moreover, we discuss terminology, risks benefits, example languages, design methodologies, implementation techniques.

10.1145/352029.352035 article EN ACM SIGPLAN Notices 2000-06-01

The advent of distributed version control systems has led to the development a new paradigm for software development; instead pushing changes central repository, developers pull them from other repositories and merge locally. Various code hosting sites, notably Github, have tapped on opportunity facilitate pull-based by offering workflow support tools, such as reviewing integrated issue trackers. In this work, we explore how works, first GHTorrent corpus then carefully selected sample 291...

10.1145/2568225.2568260 article EN Proceedings of the 44th International Conference on Software Engineering 2014-05-20

Program comprehension is an important activity in software maintenance, as must be sufficiently understood before it can properly modified. The study of a program's execution, known dynamic analysis, has become common technique this respect and received substantial attention from the research community, particularly over last decade. These efforts have resulted large body which currently there exists no comprehensive overview. This paper reports on systematic literature survey aimed at...

10.1109/tse.2009.28 article EN IEEE Transactions on Software Engineering 2009-04-17

In the pull-based development model, integrator has crucial role of managing and integrating contributions. This work focuses on investigates working habits challenges alike. We set up an exploratory qualitative study involving a large-scale survey 749 integrators, to which we add quantitative data from integrator's project. Our results provide insights into factors they consider in their decision making process accept or reject contribution. key findings are that integrators struggle...

10.1109/icse.2015.55 article EN 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering 2015-05-01

Using JavaScript and dynamic DOM manipulation on the client side of Web applications is becoming a widespread approach for achieving rich interactivity responsiveness in modern applications. At same time, such techniques---collectively known as Ajax ---shatter concept webpages with unique URLs, which traditional crawlers are based. This article describes novel technique crawling -based through automatic analysis user-interface-state changes browsers. Our algorithm scans tree, spots candidate...

10.1145/2109205.2109208 article EN ACM Transactions on the Web 2012-03-01

A domain-specific language (DSL) provides a notation tailored towards an application domain and is based on the relevant concepts features of that domain. As such, DSL means to describe generate members family programs in prerequisite for design detailed analysis structuring Graphical feature diagrams have been proposed organize dependencies between such features, indicate which ones are common all vary. In this paper, we study more details, as well their relationship languages. We propose...

10.2498/cit.2002.01.01 article EN cc-by-nd Journal of Computing and Information Technology 2002-01-01

Article Free Access Share on Identifying objects using cluster and concept analysis Authors: Arie van Deursen CWI, P.O. Box 94079, 1090 GB Amsterdam, The Netherlands NetherlandsView Profile , Tobias Kuipers Authors Info & Claims ICSE '99: Proceedings of the 21st international conference Software engineeringMay 1999 Pages 246–255https://doi.org/10.1145/302405.302629Online:16 May 1999Publication History 125citation1,018DownloadsMetricsTotal Citations125Total Downloads1,018Last 12 Months45Last...

10.1145/302405.302629 article EN 1999-05-16

So-called little, or domain-specific languages (DSLs), have the potential to make software maintenance simpler: domain experts can directly use DSL required routine modifications. On negative side, however, more substantial changes may become difficult: such involve altering language. This will require compiler technology knowledge, which not every commercial enterprise has easily available. Based on experience taken from industrial practice, we discuss role of DSLs in maintenance, dangers...

10.1002/(sici)1096-908x(199803/04)10:2<75::aid-smr168>3.0.co;2-5 article EN Journal of Software Maintenance Research and Practice 1998-03-01

Today's generation of software developers frequently make use social media, either as an adjunct or integrated into a wide range tools ranging from code editors and issue trackers, to IDEs web-based portals.The role media usage in engineering is not well understood, yet the these mechanisms influences development practices.In this position paper, we advocate for research that strives understand benefits, risks limitations using at team, project community levels.Guided by implications current...

10.1145/1882362.1882435 article EN 2010-11-07

AJAX-based Web 2.0 applications rely on stateful asynchronous client/server communication, and client-side runtime manipulation of the DOM tree. This not only makes them fundamentally different from traditional web applications, but also more error-prone harder to test. We propose a method for testing AJAX automatically, based crawler infer flow graph all (client-side) user interface states. identify AJAX-specific faults that can occur in such states (related validity, error messages,...

10.1109/icse.2009.5070522 article EN 2009-01-01

Ajax is a very promising approach for improving rich interactivity and responsiveness of web applications. At the same time, techniques shatter metaphor "page" upon which general search crawlers are based. This paper describes novel technique crawling applications through dynamic analysis reconstruction user interface state changes. Our method dynamically infers state-flow graph modeling various navigation paths states within an application. reconstructed model can be used to generate linked...

10.1109/icwe.2008.24 article EN 2008-07-01

Ajax-based Web 2.0 applications rely on stateful asynchronous client/server communication, and client-side runtime manipulation of the DOM tree. This not only makes them fundamentally different from traditional web applications, but also more error-prone harder to test. We propose a method for testing Ajax automatically, based crawler infer state-flow graph all (client-side) user interface states. identify Ajax-specific faults that can occur in such states (related to, e.g., validity, error...

10.1109/tse.2011.28 article EN IEEE Transactions on Software Engineering 2011-03-15

Many software production processes advocate rigorous development testing alongside functional code writing, which implies that both test and should co-evolve. To gain insight in the nature of this co-evolution, paper proposes three views (realized by a tool called TeMo) combine information from project’s versioning system, size various artifacts coverage reports. We validate these against two open source one industrial project evaluate our results with help log messages, inspections original...

10.1007/s10664-010-9143-7 article EN cc-by-nc Empirical Software Engineering 2010-09-14

Open source software (OSS) development teams use electronic means, such as emails, instant messaging, or forums, to conduct open and public discussions. Researchers investigated mailing lists considering them a hub for project communication. Prior work focused on specific aspects of example the handling patches, traceability concerns, social networks. This led insights pertaining aspects, but not comprehensive view what developers communicate about. Our objective is increase understanding We...

10.1109/msr.2013.6624039 article EN 2013-05-01

Software maintenance activities require a sufficient level of understanding the software at hand that unfortunately is not always readily available. Execution trace visualization common approach in gaining this understanding, and among our own efforts context Extravis, tool for large traces. While many such tools have been evaluated through case studies, there no quantitative evaluations to present day. This paper reports on first controlled experiment quantitatively measure added value...

10.1109/tse.2010.47 article EN IEEE Transactions on Software Engineering 2010-04-05

For users of software libraries or public programming interfaces (APIs), backward compatibility is a desirable trait. Without compatibility, library will face increased risk and cost when upgrading their dependencies. In this study, we investigate semantic versioning, versioning scheme which provides strict rules on major versus minor patch releases. We analyze seven years release history in Maven Central, contrast version identifiers with actual incompatibilities. find that around one third...

10.1109/scam.2014.30 article EN 2014-09-01

Backward compatibility is a major concern for any library developer. In this paper, we evaluate how stable set of frequently used third-party libraries in terms method removals, implementation change, the ratio change old methods to new ones and percentage each snapshot. We provide motivating example commercial company which demonstrates several issues associated with usage libraries. To obtain dependencies from software systems developed framework extracts Maven build files analyzes system...

10.1109/icsm.2012.6405296 article EN 2012-09-01

Abstract Tech-leading organizations are embracing the forthcoming artificial intelligence revolution. Intelligent systems replacing and cooperating with traditional software components. Thus, same development processes standards in engineering ought to be complied systems. This study aims understand by which intelligence-based developed how state-of-the-art lifecycle models fit current needs of industry. We conducted an exploratory case at ING, a global bank strong European base. interviewed...

10.1007/s10664-021-09993-1 article EN cc-by Empirical Software Engineering 2021-07-08

In systems developed without aspect-oriented programming, code implementing a crosscutting concern may be spread over many different parts of system. Identifying such automatically could great help during maintenance the First all, it allows developer to more easily find places in that must changed when changes and, thus, makes less time consuming and prone errors. Second, refactored an solution, thereby improving its modularity. this paper, we evaluate suitability clone detection as...

10.1109/tse.2005.114 article EN IEEE Transactions on Software Engineering 2005-10-01

The issues of code scattering and tangling, thus achieving a better modularity for system's concerns, are addressed by the paradigm aspect orientation. Aspect mining is reverse engineering process that aims at finding crosscutting concerns in existing systems. This work describes technique based on determining methods called from many different places (and hence have high fan-in) to identify candidate aspects number open-source Java most interesting identified discussed detail, which...

10.1109/wcre.2004.23 article EN 2005-02-22

10.1016/j.jss.2006.02.036 article EN Journal of Systems and Software 2006-04-01

The use of dynamic information to aid in software understanding is a common practice nowadays. One the many approaches concerns comprehension execution traces. A major issue this context scalability: due vast amounts information, it very difficult task successfully find your way through such traces without getting lost. In paper, we propose novel trace visualization method based on massive sequence and circular bundle view, constructed with scalability mind. By means three usage scenarios...

10.1109/icpc.2007.39 article EN 2007-06-01
Coming Soon ...