3 research outputs found

    Porting the NetBeans Java 8 Enhanced For Loop Lambda Expression Refactoring to Eclipse

    Full text link
    Java 8 is one of the largest upgrades to the popular language and framework in over a decade. However, the Eclipse IDE is missing several key refactorings that could help developers take advantage of new features in Java 8 more easily. In this paper, we discuss our ongoing work in porting the enhanced for loop to lambda expression refactoring from the NetBeans IDE to Eclipse. We also discuss future plans for new Java 8 refactorings not found in any current IDE

    Porting the NetBeans Java 8 Enhanced For Loop Lambda Expression Refactoring to Eclipse

    Full text link
    Java 8 is one of the largest upgrades to the popular language and framework in over a decade. However, the Eclipse IDE is missing several key refactorings that could help developers take advantage of new features in Java 8 more easily. In this paper, we discuss our ongoing work in porting the enhanced for loop to lambda expression refactoring from the NetBeans IDE to Eclipse. We also discuss future plans for new Java 8 refactorings not found in any current IDE

    Designing a Programming Contract Library for Java

    Get PDF
    Programmers are now developing large and complex software systems, so it’s important to have software that is consistent, efficient, and robust. Programming contracts allow developers to specify preconditions, postconditions, and invariants in order to more easily identify programming errors. The design by contract principle [1] was first used in the Eiffel programming language [2], and has since been extended to libraries in many other languages. The purpose of my project is to design a programming contract library for Java. The library supports a set of preconditions, postconditions, and invariants that are specified in Java annotations. It incorporates contract checking for objects of classes following the bean notation [3]. The library also supports checking for user-defined functions as contract conditions. This feature allows the user to check for complex contract conditions. In addition to these, the library supports contracts using lambdas in Java 8 [4], which to our knowledge has not been done in previous works on Java contracts. While the results show us that enabling contracts lowers the performance of the system, especially when lambda contracts are used, we also demonstrate how careful design can significantly reduce the overhead
    corecore