By Topic

Software Engineering, 1994. Proceedings. ICSE-16., 16th International Conference on

Date 16-21 May 1994

Filter Results

Displaying Results 1 - 25 of 45
  • Proceedings of 16th International Conference on Software Engineering

    Publication Year: 1994
    Save to Project icon | Request Permissions | PDF file iconPDF (438 KB)  
    Freely Available from IEEE
  • Workshop on the intersection between databases and software engineeering

    Publication Year: 1994 , Page(s): 355
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (44 KB)  

    First Page of the Article
    View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A process for hitting paydirt

    Publication Year: 1994 , Page(s): 369
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (96 KB)  

    First Page of the Article
    View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Nico Habermann's research: a brief retrospective

    Publication Year: 1994 , Page(s): 149 - 153
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (300 KB)  

    The last decade and a half of Nico Habermann's research career focused on software engineering, and in particular on software development environments. His earlier work was oriented more towards operating systems and programming language research. We take this opportunity to look back at his research, putting it in a larger perspective, identifying some general themes that characterize his contributions to software engineering in particular, and to computer science in general View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automated construction of testing and analysis tools

    Publication Year: 1994 , Page(s): 241 - 250
    Cited by:  Papers (4)  |  Patents (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (952 KB)  

    Many software testing and analyse's tools manipulate graph representations of programs, such as abstract syntax trees or abstract semantics graphs. Hand-crafting such tools in conventional programming languages can be difficult, error prone, and time consuming. Our approach is to use application generators targeted for the domain of graph-representation-based testing and analysis tools. Moreover, we generate the generators themselves, so that the development of tools based on different languages and/or representations can also be supported better. In this paper we report on our experiences in developing a system called Aria that generates testing and analysis tools based on an abstract semantics graph representation for C and C++ cabled Reprise. Aria itself was generated by the Genoa system. We demonstrate the utility of Aria and, thereby, the pourer of our approach, by showing Aria's use in the development of a tool that derives control dependence graphs directly from Reprise abstract semantics graphs View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software reuse myths revisited

    Publication Year: 1994 , Page(s): 271 - 272
    Cited by:  Papers (3)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (144 KB)  

    In ACM Software Engineering Notices, vol. 13, no. 1, pp. 17-21 (1988), the author published the paper “Software reuse myths”. This paper comments on these “myths” in the light of recent technology advances: (1) software reuse is a technical problem; (2) special tools are needed for software reuse; (3) reusing code results in huge increases in productivity; (4) artificial intelligence will solve the reuse problem; (5) the Japanese have solved the reuse problem; (6) Ada has solved the reuse problem; (7) designing software from reusable parts is like designing hardware using integrated circuits; (8) reused software is the same as reusable software; and (9) software reuse will just happen View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Understanding “why” in software process modelling, analysis, and design

    Publication Year: 1994 , Page(s): 159 - 168
    Cited by:  Papers (61)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (884 KB)  

    In trying to understand and redesign software processes, it is often necessary to have an understanding of the “whys” that underlie the “whats” - the motivations, intents, and rationales behind the activities and input-output flows. This paper presents a model which captures the intentional structure of a software process and its embedding organization, in terms of dependency relationships among actors. Actors depend on each other for goals to be achieved, tasks to be performed, and resources to be furnished. The model is embedded in the conceptual modelling language Telos. We outline some analytical tools to be developed for the model, and illustrate how the model can help in the systematic design of software processes. The examples used are adaptations of the ISPW-6/7 benchmark example View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software aging

    Publication Year: 1994 , Page(s): 279 - 287
    Cited by:  Papers (129)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (796 KB)  

    Programs, like people, get old. We can't prevent aging, but we can understand its causes, take steps to limits its effects, temporarily reverse some of the damage it has caused, and prepare for the day when the software is no longer viable. A sign that the software engineering profession has matured will be that we lose our preoccupation with the first release and focus on the long-term health of our products. Researchers and practitioners must change their perception of the problems of software development. Only then will software engineering deserve to be called “engineering” View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An integrated method for effective behaviour analysis of distributed systems

    Publication Year: 1994 , Page(s): 309 - 320
    Cited by:  Papers (5)  |  Patents (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (956 KB)  

    Behavioural analysis is a valuable aid for the design and maintenance of well-behaved distributed systems. Dataflow and reachability analyses are two orthogonal, but complementary, behavioural analysis techniques. Individually, each of these techniques may be inadequate for the analysis of large-scale distributed systems. On the one hand, dataflow analysis algorithms, while tractable, may not be sufficiently accurate to provide meaningful detection of errors. On the other hand, reachability analysis, while providing exhaustive analysis, may be computationally too expensive for complex systems. In this paper, we present a method which integrates dataflow and reachability analysis techniques to provide a flexible and effective means for analysing distributed systems at the preliminary and final design stages respectively. We also describe some effective measures taken to improve the adequacy of the individual analysis techniques using the concepts of action dependency and context constraints. A prototype supporting the method has been built, and its performance is described in this paper. A realistic example of a distributed track control system is used as a case study View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • software engineering and artificial intelligence

    Publication Year: 1994 , Page(s): 353 - 354
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (96 KB)  

    First Page of the Article
    View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A framework for evaluating regression test selection techniques

    Publication Year: 1994 , Page(s): 201 - 210
    Cited by:  Papers (10)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (852 KB)  

    Regression testing is a necessary but expensive activity aimed at showing that code has not been adversely affected by changes. A selective approach to regression testing attempts to reuse tests from an existing test suite to test a modified program. This paper outlines issues relevant to selective retest approaches, and presents a framework within which such approaches can be evaluated. This framework is then used to evaluate and compare existing selective retest algorithms. The evaluation reveals strengths and weaknesses of existing methods, and highlights problems that future work in this area should address View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • What small businesses and small organizations say about the CMM

    Publication Year: 1994 , Page(s): 331 - 340
    Cited by:  Papers (17)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (728 KB)  

    The US Air Force sponsored research within the Department of Defense software development community to determine the applicability of the Software Engineering Institute's capability maturity model (CMM) for software to small businesses and small software organizations. The research found that small businesses are faced not only with a lack of resources and funds required to implement many of the practices stated in the CMM, but also with the task of basing their process improvement initiatives on practices that do not apply to a small business and small software organization. This paper discusses, from industry's perspective, why small businesses and organizations are experiencing difficulties implementing CMM-based process improvement programs and how they are tailoring their approach to the CMM to meet their quality goals View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software process improvement experience in the DP/MIS function

    Publication Year: 1994 , Page(s): 323 - 329
    Cited by:  Papers (4)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (584 KB)  

    This experience report outlines Corning Inc.'s experience in successfully using software process assessment as part of their Information Service Division's software process improvement program. Improvement actions executed as indicated and prioritized by our self-assessment findings resulted in largely eliminating the cost and schedule overruns on projects in ISD's Systems Engineering Group. This paper describes the ISD process improvement initiative; a summary of our observations and the key lessons we learned concludes the paper View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A formal approach to determining parallel resource bindings

    Publication Year: 1994 , Page(s): 15 - 22
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (580 KB)  

    The paper investigates the nature of the design process for parallel operating systems. It proposes a temporal logic-based formal methodology addressing the high-level design of such systems. In operating systems design, much use is made of the informal notion of resource bindings. A way of improving the high-level design of parallel systems is proposed by providing a formal language for enumerating the design space and thus enabling all high-level design alternatives to be represented. A design process to be used with this language is given, the aim being to establish the most appropriate binding. The process is temporal logic-based and permits high level design of parallel systems to be analysed, tested and, in certain cases, formally verified before implementation is embarked upon View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Distributed software engineering

    Publication Year: 1994 , Page(s): 253 - 263
    Cited by:  Papers (2)  |  Patents (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (980 KB)  

    The term “distributed software engineering” is ambiguous. It includes both the engineering of distributed software and the process of distributed development of software, such as cooperative work. This paper concentrates on the former, giving an indication of the special needs and rewards in distributed computing. In essence, we argue that the structure of these systems as interacting components is a blessing which forces software engineers towards compositional techniques which offer the best hope for constructing scalable and evolvable systems in an incremental manner. We offer some guidance and recommendations as to the approaches which seem most appropriate, particularly in languages for distributed programming, specification and analysis techniques for modelling and distributed paradigms for guiding design View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Comprehension processes during large scale maintenance

    Publication Year: 1994 , Page(s): 39 - 48
    Cited by:  Papers (24)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (788 KB)  

    We present results of observing professional maintenance engineers working with industrial code at actual maintenance tasks. Protocol analysis is used to explore how code understanding might differ for small versus large scale code. The experiment confirms that cognition processes work at all levels of abstraction simultaneously as programmers build a mental model of the code. Cognition processes emerged at three levels of aggregation representing lower and higher level strategies of understanding. They show differences in what triggers them and how they achieve their goals. Results are useful for defining core competencies which maintenance engineers need for their work and for documentation and development standards View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software architecture: practice, potential, and pitfalls

    Publication Year: 1994 , Page(s): 363 - 364
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (172 KB)  

    Whatever the long-term impact of software architecture may turn out to be, an appropriate starting point is a concrete appraisal of the current state of the practice in the use of software architecture. It is the purpose of the article to take a step in this direction. It provides concrete examples of what is now possible when architectural principles are applied to industrial problems in systematic ways, considers the potential impact of software architecture over the next few years, and suggests steps that should be taken to bring this about View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Storing and retrieving software components: a refinement based system

    Publication Year: 1994 , Page(s): 91 - 100
    Cited by:  Papers (12)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (848 KB)  

    Software reuse poses a number of challenges, ranging from managerial to technical - not least of these is the problem of storing and retrieving software components in a time efficient manner. This paper presents the design and implementation of an automated software repository, where software components can be automatically stored and retrieved. This repository is based on a formal representation of programs and their specifications, as well as a refinement ordering of these specifications View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The SMART approach for software process engineering

    Publication Year: 1994 , Page(s): 341 - 350
    Cited by:  Papers (5)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (744 KB)  

    Describes a methodology for software process engineering and an environment, SMART, that supports it. SMART supports a process life-cycle that includes the modeling, analysis, and execution of software processes. SMART's process monitoring capabilities can be used to provide feedback from the process execution to the process model. SMART represents the integration of three separately developed process mechanisms, and it uses two modeling formalisms (object-oriented data representation and imperative-style programming language) to bridge the gap between process modeling, analysis, and execution. SMART demonstrates the meta-environment concept, using a process modeling formalism as input specification to a generator that produces process-centered software engineering environments (PSEEs). Furthermore, SMART supports a team-oriented approach for process modeling, analysis, and execution View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software reuse - facts and myths

    Publication Year: 1994 , Page(s): 267 - 268
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (156 KB)  

    The concept of systematic software reuse is simple: the idea of building and using “software preferred parts.” By building systems out of carefully designed, pre-tested components, one will save the cost of designing, writing and testing new code. The practice of reuse has not proven to be this simple however, and there are many misconceptions about how to implement and gain benefit from software reuse View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • TESTTUBE: a system for selective regression testing

    Publication Year: 1994 , Page(s): 211 - 220
    Cited by:  Papers (40)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (832 KB)  

    The paper describes a system called TESTTUBE that combines static and dynamic analysis to perform selective retesting of software systems written in C. TESTTUBE first identifies which functions, types, variables and macros are covered by each test unit in a test suite. Each time the system under test is modified, TESTTUBE identifies which entities were changed to create the new version. Using the coverage and change information, TESTTUBE selects only those test units that cover the changed entities for testing the new version. We have applied TESTTUBE to selective retesting of two software systems, an I/O library and a source code analyzer. Additionally, we are adapting TESTTUBE for selective retesting of nondeterministic systems, where the main drawback is the unsuitability of dynamic analysis for identification of covered entities. Our experience with TESTTUBE has been quite encouraging, with an observed reduction of 50% or more in the number of test cases needed to test typical software changes View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing software systems

    Publication Year: 1994 , Page(s): 59 - 67
    Cited by:  Papers (9)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (628 KB)  

    There are many graphical techniques for visualizing software. Unfortunately, the current techniques do not scale to display large software systems and are largely unused. We present a method for visualizing statistics associated with code that is divided hierarchically into subsystems, directories, and files. Using this technique, we can display the relative sizes of the components in the system, which components are stable and which are changing, where the new functionality is being added, and identify error-prone code with many bug fixes. Using animation, we can display the historical evolution of the code View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software engineering education: a place in the sun?

    Publication Year: 1994 , Page(s): 358 - 359
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (160 KB)  

    Virtually every research specialisation in software engineering would be prepared to claim that its particular concern is the most important in the field. The author wishes to claim such a status for software engineering education, a specialisation barely regarded as respectable among the majority of researchers. What are the grounds for this claim? Virtually all the technologies which we believe hold promise of improving software development are dependent on professionally skilled and educated staff. Software engineering education remains our most powerful means of technology transfer and hence of narrowing the gap between what is known in the research community and what is applied in industry and commerce. Despite economic hiccups the skills shortage is still a critical component of the omnipresent software crisis. Industry is spending a large proportion of its software development budget on training and on recruitment to offset the costs of fundamental education problems View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software reuse experience at Hewlett-Packard

    Publication Year: 1994
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (88 KB)  

    At Hewlett-Packard, we have had visible divisional software reuse efforts since the mid-1980s. In 1990, we initiated a multi-faceted corporate reuse program to gather information about reuse from within HP and from other companies. As we studied the existing reuse programs, we discovered that certain issues were poorly understood, and as a consequence, mistakes were made in starting and running certain programs at HP and elsewhere. Our corporate reuse program focused on packaging best-practice information and guidelines to avoid common pitfalls. We also developed technology transfer and educational processes to spread this information and enhance reuse practice within the company. In 1992, we launched a multi-disciplinary research program to investigate and develop better methods for domain-specific, reuse-based software engineering. We have learned that for large-scale reuse to work, the problems to be overcome are mostly non-technical View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Exoskeletal software

    Publication Year: 1994
    Cited by:  Papers (3)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (96 KB)  

    The author advocates the use of a separate and explicit structural language to describe software architectures. The structural nature makes it amenable to both textual and graphical description. Since it is a language, it can be used to support general descriptions and to provide the framework for checking interconnections. In addition, it can be used to generate and manage the system itself. This approach, initially under the guise of simple “module interconnection languages” (MIL) and subsequently as “configuration languages”, provides generalised support for a wide variety of component and interaction types. Generic (skeleton) architectures provide the means for reusing structures with different constituent components. Dynamic constructs support explicit extension while constraining the potential structures of the system to those expressed as valid. Further, change can be supported at the architectural level, either offline on the design or code, or dynamically on the system itself. System structure (architecture), separately and explicitly described, should be recognised as the unifying framework upon which to hang specification, design, construction and evolution of systems View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.