English
Related papers

Related papers: Studying the Prevalence of Exception Handling Anti…

200 papers

This paper considers an example of Object-Oriented Programming (OOP) leading to subtle errors that break separation of interface and implementations. A comprehensive principle that guards against such errors is undecidable. The paper…

Programming Languages · Computer Science 2007-05-23 Oleg Kiselyov

Modern programming languages like Java require runtime systems to support the implementation and deployment of software applications in diverse computing platforms and operating systems. These runtime systems are normally developed in…

Software Engineering · Computer Science 2023-10-25 Salma Begum Tamanna , Gias Uddin , Lan Xia , Longyu Zhang

Mistakes in binary conditions are a source of error in many software systems. They happen when developers use, e.g., < or > instead of <= or >=. These boundary mistakes are hard to find and impose manual, labor-intensive work for software…

Software Engineering · Computer Science 2021-02-25 Hendrig Sellik , Onno van Paridon , Georgios Gousios , Maurício Aniche

In this paper, we study how object-oriented classes are used across thousands of software packages. We concentrate on "usage diversity'", defined as the different statically observable combinations of methods called on the same object. We…

Software Engineering · Computer Science 2018-07-06 Diego Mendez , Benoit Baudry , Martin Monperrus

Error invariants are assertions that over-approximate the reachable program states at a given position in an error trace while only capturing states that will still lead to failure if execution of the trace is continued from that position.…

Software Engineering · Computer Science 2016-08-31 Andreas Holzer , Daniel Schwartz-Narbonne , Mitra Tabaei Befrouei , Georg Weissenbacher , Thomas Wies

Incorrect implementations of network protocol message specifications affect the stability, security, and cost of network system development. Most implementation defects fall into one of three categories of well defined message constraints.…

Networking and Internet Architecture · Computer Science 2013-11-15 C. Jasson Casey , Andrew Sutton , Gabriel Dos Reis , Alex Sprintson

In software engineering, taking a good election between recursion and iteration is essential because their efficiency and maintenance are different. In fact, developers often need to transform iteration into recursion (e.g., in debugging,…

Programming Languages · Computer Science 2014-10-22 David Insa , Josep Silva

Recent studies have largely investigated the detection of class design anomalies. They proposed a large set of metrics that help in detecting those anomalies and in predicting the quality of class design. While those studies and the…

Software Engineering · Computer Science 2013-02-13 Hani Abdeen , Osama Shata

With the advent of numerous languages it is difficult to realize the edge of one language in a particular scope over another one. We are making an effort, realizing these few issues and comparing some main stream languages like Java, Scala,…

Programming Languages · Computer Science 2010-08-23 Venkatreddy Dwarampudi , Shahbaz Singh Dhillon , Jivitesh Shah , Nikhil Joseph Sebastian , Nitin Kanigicharla

In this paper, we focus on the problem of dynamically analysing concurrent software against high-level temporal specifications. Existing techniques for runtime monitoring against such specifications are primarily designed for sequential…

Programming Languages · Computer Science 2026-01-09 Zhendong Ang , Umang Mathur

One of the long-standing problems on logic programming is to express {\it priority}-related operations -- default reasoning, if-then-else, cut, exception handling, etc -- in a high-level way. We argue that this problem can be solved by…

Logic in Computer Science · Computer Science 2019-10-24 Keehang Kwon

Open-source software supply chain security relies heavily on assessing affected versions of library vulnerabilities. While prior studies have leveraged exploits for verifying vulnerability affected versions, they point out a key limitation…

Software Engineering · Computer Science 2026-03-30 Zirui Chen , Qi Zhan , Jiayuan Zhou , Xing Hu , Xin Xia , Xiaohu Yang

Worked examples (solutions to typical programming problems presented as a source code in a certain language and are used to explain the topics from a programming class) are among the most popular types of learning content in programming…

Human-Computer Interaction · Computer Science 2023-12-05 Mohammad Hassany , Peter Brusilovsky , Jiaze Ke , Kamil Akhuseyinoglu , Arun Balajiee Lekshmi Narayanan

Design patterns are elegant and well-tested solutions to recurrent software development problems. They are the result of software developers dealing with problems that frequently occur, solving them in the same or a slightly adapted way. A…

Software Engineering · Computer Science 2019-03-25 Hannes Thaller , Lukas Linsbauer , Alexander Egyed

The execution behavior of a program often depends on external resources, such as program inputs or file contents, and so cannot be run in isolation. Nevertheless, software developers benefit from fast iteration loops where automated tools…

Machine Learning · Computer Science 2022-03-30 David Bieber , Rishab Goel , Daniel Zheng , Hugo Larochelle , Daniel Tarlow

Anti-patterns are poor solutions to recurring design problems. Several empirical studies have highlighted their negative impact on program comprehension, maintainability, as well as fault-proneness. A variety of detection approaches have…

Software Engineering · Computer Science 2019-10-18 Antoine Barbez , Foutse Khomh , Yann-Gaël Guéhéneuc

Database-backed applications rely on the database access code to interact with the underlying database management systems (DBMSs). Although many prior studies aim at database access issues like SQL anti-patterns or SQL code smells, there is…

Software Engineering · Computer Science 2024-05-27 Wei Liu , Shouvick Mondal , Tse-Hsun Chen

In this paper, we describe and present the first dataset of source code plagiarism specifically aimed at contest plagiarism. The dataset contains 251 pairs of plagiarized solutions of competitive programming tasks in Java, as well as 660…

Software Engineering · Computer Science 2023-03-21 Evgeniy Slobodkin , Alexander Sadovnikov

Comparison of programming languages is a common topic of discussion among software engineers. Few languages ever become sufficiently popular that they are used by more than a few people or find their niche in research or education; but…

Programming Languages · Computer Science 2010-08-23 Sultan S. Al-Qahtani , Pawel Pietrzynski , Luis F. Guzman , Rafik Arif , Adrien Tevoedjre

The reuse of code fragments by copying and pasting is widely practiced in software development and results in code clones. Cloning is considered an anti-pattern as it negatively affects program correctness and increases maintenance efforts.…

Software Engineering · Computer Science 2018-06-26 Hannes Thaller , Rudolf Ramler , Josef Pichler , Alexander Egyed
‹ Prev 1 4 5 6 7 8 10 Next ›