244,821 research outputs found

    Building dependency graph for slicing erlang programs

    Get PDF
    Program slicing is a well-known technique that utilizes dependency graphs and static program analysis. Our goal is to perform impact analysis of Erlang programs based on the resulted program slices, that is we want to measure the impact of any change made on the source code: especially we want to select a subset of test cases which must be rerun after the modification. However impact analyzer tools exist for object oriented languages, the used dependency graphs heavily depend on the syntax and semantics of the used programming language, thus we introduce dependency graphs for a dynamically typed functional programming language, Erlang

    Analysis and Design in the IS Curriculum: Taking it to the Next Level

    Get PDF
    Recent surveys of methodologies and techniques currently used in organizations for developing information systems indicate significant trends that call for a revision of the Information Systems (IS) Systems Analysis and Design (SA&D) course to define what methodologies, techniques, models, and tools need to be taught. Several course-related and environment governed trends seem to impact the coverage, including the growing popularity of object-oriented techniques, the shortening of the life cycle and the emergence of the iterative approach, the increasing adoption of the agile approach, the rising importance of UML, the outsourcing trend leading to global distribution of SA&D work, and the rate of change in the technical and business environments. The scope of the SA&D course has increased. Yet, most MIS degree programs have just one SA&D course. The typical SA&D instructor faces a number of difficult questions when trying to fit the much larger range of topics into a single course. A panel at the Americas Conference on Information Systems (AMCIS) 2007 conference evaluated how the trends impact the coverage of the SA&D course and made recommendations on how these trends can be addressed. Based on the panel discussion, this paper tackles the many challenges of teaching analysis and design in the IS curriculum and taking it to the next level

    An empirical study evaluating depth of inheritance on the maintainability of object-oriented software

    Get PDF
    This empirical research was undertaken as part of a multi-method programme of research to investigate unsupported claims made of object-oriented technology. A series of subject-based laboratory experiments, including an internal replication, tested the effect of inheritance depth on the maintainability of object-oriented software. Subjects were timed performing identical maintenance tasks on object-oriented software with a hierarchy of three levels of inheritance depth and equivalent object-based software with no inheritance. This was then replicated with more experienced subjects. In a second experiment of similar design, subjects were timed performing identical maintenance tasks on object-oriented software with a hierarchy of five levels of inheritance depth and the equivalent object-based software. The collected data showed that subjects maintaining object-oriented software with three levels of inheritance depth performed the maintenance tasks significantly quicker than those maintaining equivalent object-based software with no inheritance. In contrast, subjects maintaining the object-oriented software with five levels of inheritance depth took longer, on average, than the subjects maintaining the equivalent object-based software (although statistical significance was not obtained). Subjects' source code solutions and debriefing questionnaires provided some evidence suggesting subjects began to experience diffculties with the deeper inheritance hierarchy. It is not at all obvious that object-oriented software is going to be more maintainable in the long run. These findings are sufficiently important that attempts to verify the results should be made by independent researchers
    • …
    corecore