270 research outputs found

    OpenJML: Software verification for Java 7 using JML, OpenJDK, and Eclipse

    Full text link
    OpenJML is a tool for checking code and specifications of Java programs. We describe our experience building the tool on the foundation of JML, OpenJDK and Eclipse, as well as on many advances in specification-based software verification. The implementation demonstrates the value of integrating specification tools directly in the software development IDE and in automating as many tasks as possible. The tool, though still in progress, has now been used for several college-level courses on software specification and verification and for small-scale studies on existing Java programs.Comment: In Proceedings F-IDE 2014, arXiv:1404.578

    Smart Patient Monitoring System Using WSN & Android

    Get PDF
    Body area network (BAN) is an affirmating technology for real-time monitoring of physiological parameters of the patients. Tele medical system is provided when wireless technology is combined with body area network. When the Wireless Body Area Network comes in contact with the Android based smart phones gives a latest technology and is easy to use. The telemedical systems measures and evaluate the parameters such as, e.g. heart rate, blood pressure, temperature, vibration and level. (W)BAN along with the use of the sensors, localization of patient, stores the data, analysis and representation on the smartphone, transmission of the data and emergency communication with the one who enrolled his phone number and email address at the setting activity and a clinical server can perform the operation using this system. The Bluetooth based sensor nodes takes the parameters of patients then perform signal processing and data analysis, data recording and send results to the coordinator node. DOI: 10.17762/ijritcc2321-8169.150514

    OCL Tools Report based on the IDE4OCL Feature Model

    Get PDF
    Previously we have developed the idea of an Integrated Development Environment for OCL (IDE4OCL). Based on the OCL community's feedback we have also designed and published an IDE4OCL feature model. Here we present a report on selected OCL tools developed by the authors and their teams. Each author gives an overview of their OCL tool, provides a top level architecture, and gives an evaluation of the tool features in a web framework. The framework can also be used by other potential OCL users and tool developers. For users it may serve as an aid to choose a suitable tool for their OCL use scenarios. For tool developers it provides a comparative view for further development of the OCL tools. Our plans are to maintain the collected data and extend this web framework by further OCL tools. Additionally, we would like to encourage sharing of OCL development resources

    PROGRAM INSPECTION AND TESTING TECHNIQUES FOR CODE CLONES AND REFACTORINGS IN EVOLVING SOFTWARE

    Get PDF
    Developers often perform copy-and-paste activities. This practice causes the similar code fragment (aka code clones) to be scattered throughout a code base. Refactoring for clone removal is beneficial, preventing clones from having negative effects on software quality, such as hidden bug propagation and unintentional inconsistent changes. However, recent research has provided evidence that factoring out clones does not always reduce the risk of introducing defects, and it is often difficult or impossible to remove clones using standard refactoring techniques. To investigate which or how clones can be refactored, developers typically spend a significant amount of their time managing individual clone instances or clone groups scattered across a large code base. To address the problem, this research proposes two techniques to inspect and validate refactoring changes. First, we propose a technique for managing clone refactorings, Pattern-based clone Refactoring Inspection (PRI), using refactoring pattern templates. By matching the refactoring pattern templates against a code base, it summarizes refactoring changes of clones, and detects the clone instances not consistently factored out as potential anomalies. Second, we propose Refactoring Investigation and Testing technique, called RIT. RIT improves the testing efficiency for validating refactoring changes. RIT uses PRI to identify refactorings by analyzing original and edited versions of a program. It then uses the semantic impact of a set of identified refactoring changes to detect tests whose behavior may have been affected and modified by refactoring edits. Given each failed asserts, RIT helps developers focus their attention on logically related program statements by applying program slicing for minimizing each test. For debugging purposes, RIT determines specific failure-inducing refactoring edits, separating from other changes that only affect other asserts or tests

    Introducing automated regression testing in Open Source projects

    Get PDF
    To learn how to introduce automated regression testing to existing medium scale Open Source projects, a long-term field experiment was performed with the Open Source project FreeCol. Results indicate that (1) introducing testing is both beneficial for the project and feasible for an outside innovator, (2) testing can enhance communication between developers, (3) signaling is important for engaging the project participants to fill a newly vacant position left by a withdrawal of the innovator. Five prescriptive strategies are extracted for the innovator and two conjectures offered about the ability of an Open Source project to learn about innovations

    Enhancing iNetTest by Improving the Programming Question and Group Grading

    Get PDF
    This report describes an improvement to the Utah State University iNetTest testing system. The iNetTest system allows instructors and/or students to: • Create/take tests with rich sets of question types (multiple choice, essay, true/false, computational programming question, etc.); • Monitor the test takers for cheating; • Auto-grade for many types of questions, as well as group grade for all question types; and • Send scores to students via either email or SMS. Specifically, this report discusses the design and development of an improved computational programming question for the iNetTest system. For programming questions, iNetTest allows for the use of various programming languages including some scripting languages. The improved system makes grading faster and more straightforward by assessing all students’ answers automatically. All enhancements described herein improve iNetTest’s functionality and implement new security layers that protect against the misuse of features and/or functionality. This report also describes the layered architecture used to build the iNetTest system, including several new technologies, such as Ajax[4] and JavaScript Frameworks[5]. MVC frameworks[1] and socket programming[10] are also discussed and compared. Finally, this report discusses how the system was tested and projects future enhancements to the system

    30 Years of Software Refactoring Research: A Systematic Literature Review

    Full text link
    Peer Reviewedhttps://deepblue.lib.umich.edu/bitstream/2027.42/155872/4/30YRefactoring.pd

    30 Years of Software Refactoring Research:A Systematic Literature Review

    Full text link
    Due to the growing complexity of software systems, there has been a dramatic increase and industry demand for tools and techniques on software refactoring in the last ten years, defined traditionally as a set of program transformations intended to improve the system design while preserving the behavior. Refactoring studies are expanded beyond code-level restructuring to be applied at different levels (architecture, model, requirements, etc.), adopted in many domains beyond the object-oriented paradigm (cloud computing, mobile, web, etc.), used in industrial settings and considered objectives beyond improving the design to include other non-functional requirements (e.g., improve performance, security, etc.). Thus, challenges to be addressed by refactoring work are, nowadays, beyond code transformation to include, but not limited to, scheduling the opportune time to carry refactoring, recommendations of specific refactoring activities, detection of refactoring opportunities, and testing the correctness of applied refactorings. Therefore, the refactoring research efforts are fragmented over several research communities, various domains, and objectives. To structure the field and existing research results, this paper provides a systematic literature review and analyzes the results of 3183 research papers on refactoring covering the last three decades to offer the most scalable and comprehensive literature review of existing refactoring research studies. Based on this survey, we created a taxonomy to classify the existing research, identified research trends, and highlighted gaps in the literature and avenues for further research.Comment: 23 page
    • …
    corecore