Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
-
- Software Engineering (63)
- Artificial Intelligence and Robotics (14)
- Social and Behavioral Sciences (5)
- Data Science (4)
- Databases and Information Systems (4)
-
- Graphics and Human Computer Interfaces (4)
- Other Computer Sciences (3)
- Science and Technology Studies (3)
- Statistics and Probability (3)
- Theory and Algorithms (3)
- Communication (2)
- Information Security (2)
- Life Sciences (2)
- Numerical Analysis and Scientific Computing (2)
- Animal Sciences (1)
- Anthropology (1)
- Applied Linguistics (1)
- Applied Statistics (1)
- Art and Design (1)
- Arts and Humanities (1)
- Behavior and Ethology (1)
- Biochemistry, Biophysics, and Structural Biology (1)
- Biophysics (1)
- Climate (1)
- Communication Technology and New Media (1)
- Computational Linguistics (1)
- Computer Engineering (1)
- Keyword
-
- Refactoring (23)
- Java (17)
- Java 8 (12)
- Software engineering (11)
- Deep learning (10)
-
- Imperative programs (9)
- Programming languages (9)
- Default methods (8)
- Static analysis (8)
- Streams (8)
- Automated refactoring (7)
- Empirical studies (7)
- Scala (7)
- Software evolution (7)
- Software maintenance (6)
- Software tools (6)
- Typestate analysis (6)
- Aspect-oriented programming (5)
- Automatic parallelization (4)
- Computer science (4)
- Enumerated types (4)
- Graph execution (4)
- Hybrid programming paradigms (4)
- Interfaces (4)
- Introduction to computer programming (4)
- Programming (4)
- Python (4)
- Aspect-Oriented programming (3)
- Aspect-oriented software (3)
- Concurrency (3)
- Publication Year
- Publication
- Publication Type
- File Type
Articles 91 - 92 of 92
Full-Text Articles in Programming Languages and Compilers
Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian, Jason Sawin, Atanas Rountev
Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian, Jason Sawin, Atanas Rountev
Publications and Research
Modern Java languages introduce several new features that offer significant improvements over older Java technology. In this article we consider the new enum construct, which provides language support for enumerated types. Prior to recent Java languages, programmers needed to employ various patterns (e.g., the weak enum pattern) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. We present a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct. This semantics-preserving approach increases type safety, produces code that is …
Rely-Guarantee Approach To Reasoning About Aspect-Oriented Programs, Raffi Khatchadourian, Neelam Soundarajan
Rely-Guarantee Approach To Reasoning About Aspect-Oriented Programs, Raffi Khatchadourian, Neelam Soundarajan
Publications and Research
Over the last few years, the question of reasoning about aspect-oriented programs has been addressed by a number of authors. In this paper, we present a rely-guarantee approach to such reasoning. The rely-guarantee approach has proven extremely successful in reasoning about concurrent and distributed programs. We show that some of the key problems encountered in reasoning about aspect-oriented programs are similar to those encountered in reasoning about concurrent programs; and that the rely-guarantee approach, appropriately modified, helps address these problems. We illustrate our approach with a simple example.