scispace - formally typeset
Search or ask a question

Showing papers in "ACM Sigsoft Software Engineering Notes in 2001"


Journal ArticleDOI
TL;DR: The authors indulge in a long-winded literature survey of planning systems and provide proofs of necessity, consistency, and optimality of their framework, that practitioners will no doubt find tiresome as the book is given the flavour of a PhD thesis.
Abstract: which centres on responding to contingencies, there is no digression into languages for detecting contingencies-the reader will need to look to the alarm correlation literature, or to event monitoring frameworks such as the University of Cam-bridge's Cambridge Event Architecture (CEA) and Imperial College's Generalized Event Monitor (GEM), here. In order to integrate event detection with planning though, these event detectors will need extensions for event criticality, event probability , response utility determination and scheduling, and resource allocation. The final chapters of the book review some behaviour models , which characterize the underlying attitudes that may influence planning, such as anti-authorative, impulsive, macho, and liability conscious behavioural attitudes. The authors also explain how computer-generated plans may be used to validate human plans and, similarly, how a comparison to human plans may shed light on the suitability and accuracy of a particular computational approach. The target audience for this book is ambitiously described as software managers, higher level managers, project managers, executives, CIO's, managers, entrepreneurs, and software developers. However, the tone of the book is predominantly academic and theoretic in nature, with frequent excursions into mathematical formulae that are probably not of interest to practictioners. Firstly, the authors indulge in a long-winded literature survey of planning systems and provide proofs of necessity , consistency, and optimality of their framework, that practitioners will no doubt find tiresome as the book is given the flavour of a PhD thesis, albeit a thorough and rigorous one. While the book provides comprehensive coverage of planning approaches and prior research, the book tends to be repetitive and long-wlnded. The book's discussion of the Maruti real-time operating system, though applicable, is not likely to be of interest to the intended audience as Maruti is not a pervasive technology in industry. Finally, the use of academic parlance and frequent references to context free grammars, non-terminals, and NP-completeness is ill-suited to the target audience, who expect a straightforward, brief, and direct explanation of critical concepts, and who will find themselves frequently bored by the many tedious academic expositions. Whilst, as claimed in the book's blurb, the techniques described in the book could foreseeably apply to domains as diverse as web-based shopping assistants, the authors do not provide any practical illustrations of this, constraining their applications predominantly to a recurring examples from the aircraft flight planning domain. The enticing but elusive prospect of integrating real-time problem solving languages with existing Internet …

637 citations


Journal ArticleDOI
TL;DR: This series of articles shares with you the lessons learned from applying and evaluating research methods and their results, in the hope of improving survey research in software engineering.
Abstract: This article is the fifth installment of our series of articles on survey research. In it, we discuss what we mean by a population and a sample and the implications of each for survey research. We ...

384 citations


Journal ArticleDOI
TL;DR: The authors may not be able to make you love reading, but production workflow concepts and techniques will lead you to love reading starting from now.
Abstract: We may not be able to make you love reading, but production workflow concepts and techniques will lead you to love reading starting from now. Book is the window to open the new world. The world that you want is in the better stage and level. World will always guide you to even the prestige stage of the life. You know, this is some of how reading will give you the kindness. In this case, more books you read more knowledge you know, but it can mean also the bore is full.

350 citations


Journal Article
TL;DR: The software estimation process discussed in this paper describes the steps required for establishing initial software Life Cycle Cost estimates and then tracking and refining those estimates throughout the life of the project.
Abstract: Software Cost Estimation (SCE) continues to be a weak link in software project management. It is the responsibility of the project manager to make accurate estimations of effort and cost. This is particularly true for projects subject to competitive bidding where a bid too high compared with competitors would result in loosing the contract or a bid too low could result in a loss to the organization. From an estimate, the management often decides whether to proceed with the project. Industry has a need for accurate estimates of effort and size at a very early stage in a project. However, when software cost estimates are done early in the software development process the estimate can be based on wrong or incomplete requirements. Software cost estimate process is the set of techniques and procedures that organizations use to arrive at an estimate. Why SCE is difficult and error prone? - Software cost estimation requires a significant amount of effort to perform it correctly. SCE is often done hurriedly, without an appreciation for the effort required. You need experience at developing estimates, especially for large projects. Human bias i.e. an Estimator is likely to consider how long a certain portion of the system would take, and then to merely extrapolate this estimate to the rest of the system, ignoring the non-linear aspects of software development. Costs and schedules are often pre-determined by an outside source. An in-depth analysis of the software development process w as no t undertaken or in many cases, is not fully understood There is a general lack of acceptance that developing software is an expensive endeavor. The causes of poor and inaccurate estimation are: (a) imprecise and drifting requirements. (b) New software projects are nearly always different form the last. (c) Software practitioners don't collect enough information about past projects. (d) Estimates are forced to match the resources available. The software estimation process discussed in this paper describes the steps required for establishing initial software Lit~ Cycle Cost estimates and then tracking and refining those estimates throughout the life of the project. Establishment of this process early in the life cycle will result in greater accuracy and credibility of estimates and a clearer understanding of the factors that influence software development costs.

79 citations


Journal ArticleDOI
TL;DR: This book is a comprehensive presentation of the principles of function point analysis (FPA) and a guide to its use in managing the development of software.
Abstract: Function points (FPs) were developed as an implementationindependent metric of software system functionality and complexity. This book is a comprehensive presentation of the principles of function point analysis (FPA) and a guide to its use in managing the development of software. It includes the latest rules and guidelines released in the International Function Point Users Group (IFPUG) Counting Practices Manual (CPM) 4.1. It explains the calculations for determining function point size, and features the most common uses of FPA.

58 citations


Journal ArticleDOI
TL;DR: This book contains insights into the world of Mobile Commerce, where readers will learn about various technologies that currently exist as well as future plans regarding technology, that will allow consumers to participate in mobile commerce activities.
Abstract: This book contains insights into the world of Mobile Commerce. Readers will learn about various technologies that currently exist as well as future plans regarding technology, that will allow consumers to participate in mobile commerce activities This book contains 4 chapters, that are broken down as fol-I feel that this book is geared more towards the technical community. I feel that the general consumer would be lost in trying to understand the material presented in this book. I enjoyed reading about the various technologies in use throughout various consumer markets, both within North America as well as European and Asian markets. One of the things I didn't like regarding the book, was the level of detail gone into some of the various technology. I don't believe for example that the general public needs to be familiar with the details of how TDMA, and CDMA carry calls. I would have rather liked to see additional areas of how Mobile Commerce is being implemented currently, and give additional examples of their success/failures. The book did touch on this, mentioning a few examples such as the failure of Iridium in the commercial marketplace. Overall I did like the book, although I wouldn't recommend it for anyone that wasn't previously familiar with some of the technology terminology mentioned throughout the book.

55 citations


Journal ArticleDOI
TL;DR: Software product lines have numerous members, thus, a product line infrastructure must cover various systems, and the significant difference to usual software systems and the reason for additio...
Abstract: Software product lines have numerous members. Thus, a product line infrastructure must cover various systems. This is the significant difference to usual software systems and the reason for additio...

50 citations


Journal ArticleDOI
TL;DR: This paper analyzes the objects that need to be managed in CBSD and presents a component-based SCM model to improve CBSD with effective SCM support and an SCM system that supports this model is introduced.
Abstract: Software configuration management (SCM) is viewed as an important key technology in software development and is being adopted in software industry more and more widely. And component-based software development (CBSD) is an emerging paradigm in software development. However, the traditional SCM method can not support CBSD effectively and efficiently. In this paper, we analyze the objects that need to be managed in CBSD and present a component-based SCM model to improve CBSD with effective SCM support. In this model, components, as the integral logical constituents in a system, are managed as the basic configuration items in SCM, and relationships between/among components are defined and maintained, in order to support version control of large objects and logical modeling of system architecture. Also some key issues in the model are discussed and an SCM system that supports this model is introduced.

49 citations


Journal ArticleDOI
TL;DR: This book inchides well-known classics such as "On the Criteria to be used in Decomposing Systems into Modules," "On a 'Buzzword': Hierarchical Structure," and "Software Aging."
Abstract: Parnas has been writing seminal and provocative papers about software and software development for more than 30 years, and this book collects more than 30 of them. It inchides well-known classics such as "On the Criteria to Be Used in Decomposing Systems into Modules," "On a 'Buzzword': Hierarchical Structure," "On the Design and Development of Program Families," "Designing Software for Ease of Extension and Contraction," "A Rational Design Process: How and Why to Fake It," and "Software Engineering: An Unconsummated Marriage." It also has some lesser-known gems, such as "Who Taught Me About Software Engineering Research?", "Active Design Reviews: Principles and Practices," and "Software Aging.

46 citations


Journal ArticleDOI
TL;DR: Layered architecture in operating system code is often compromised by execution path-specific customizations such as prefetching, page replacement and scheduling strategies.
Abstract: Layered architecture in operating system code is often compromised by execution path-specific customizations such as prefetching, page replacement and scheduling strategies. Path-specific customiza...

41 citations


Journal ArticleDOI
TL;DR: The report summarizes the presentations and discussions of the Workshop on Customer Involvement held during XP2001, the Second International Conference on Extreme Programming and Flexible Processes in Software Engineering, Cagliari, Italy, May 21, 2001.
Abstract: This paper covers customer involvement challenges in light-weight software development processes. The report summarizes the presentations and discussions of the Workshop on Customer Involvement held during XP2001, the Second International Conference on Extreme Programming and Flexible Processes in Software Engineering, Cagliari, Italy, May 21, 2001.

Journal ArticleDOI
John Long1
TL;DR: A number of reuse antipatterns that have been observed within the software industry, with mixed success, are outlined.
Abstract: Software reuse is a productivity technique attempted by many development organizations, with mixed success. In analyzing reuse failures, a number of antipatterns emerge. Antipatterns are obvious, but wrong, solutions to recurring problems. This article outlines a number of reuse antipatterns that have been observed within the software industry.

Journal ArticleDOI
TL;DR: The goal of this workshop is to ensure that work in the areas of certification of software components and architectural analysis for prediction of system quality attributes will be mutually aware, if not mutually reinforcing.
Abstract: This paper gives a short overview of the 4th ICSE Workshop on Component-based Software Engineering The workshop brought together researchers and practitioners from three communities: component technology, software architecture, and software certification The goal of the workshop was to find a common understanding and to discuss the topics related to the component composition The workshop was divided in eight sessions held in sequence, starting with invited talks and ended with a final discussion A model problem, to be used for further research and work in future workshops, was discussed and later selected The paper gives a comprehensive summary of the sessions and plans for future work

Journal ArticleDOI
TL;DR: selected papers on the analysis of algorithms fbtest selected papers on a comparative analysis of sorting algorithms on integer donald knuth selected papers discrete mathematics pdf introduction to algorithms answer key tezeta dravidian studies selected papers benjay data structures and algorithms objective questions.
Abstract: selected papers on the analysis of algorithms fbtest selected papers on the analysis of algorithms bebooki selected papers on the analysis of algorithms eaep selected papers on the analysis of algorithms drivept selected papers on the analysis of algorithms timapix selected papers on analysis of algorithms, csli lecture selected papers on design of algorithms lecture notes free download selected papers on the analysis of selected papers on design of algorithms lecture notes guest editorial: selected papers from european symposium free download selected papers on design of algorithms top 10 algorithms in data mining fordham university design analysis of algorithms lab manual ricuk algorithm books the university of texas at dallas statistical analysis of computational tests of algorithms guest editorial: selected papers of european symposium of video analysis algorithms for automated categorization of genetic algorithms for wavenumber selection in forensic selected papers of chia shun yih xonecs chapter 15 selected algorithms of quantitative image an introduction to the analysis of algorithms 2nd edition cs6161 design and analysis of algorithms syllabus a comparative analysis of sorting algorithms on integer donald knuth selected papers discrete mathematics pdf introduction to algorithms answer key tezeta dravidian studies selected papers benjay data structures and algorithms objective questions answer the design and analysis of algorithms twofig introduction to selected papers from the 8th international meta-analysis of face recognition algorithms selected papers weak interactions and early papers foundations of genetic algorithms 8th international selected papers on noise and stochastic processes some novel analysis and learning methods for neural design and analysis of computer algorithms rybolt cs 5381 analysis of algorithms document about foundations of genetic algorithms 8th practical analysis of algorithms askand anany levitin design analysis of algorithms solutions analysis of data mining algorithms coomaraswamy volume 2 selected papers metaphysics v 2 algorithms in java sedgewick solutions manual eiler ?searching research papers using clustering nd text mining? special issue on selected papers from the seventh foreword to the special issue on selected papers from the analysis of sorting algorithms by kolmogorov complexity (a cmpsc 250: analysis of algorithms allegheny college

Journal ArticleDOI
TL;DR: This book provides a tutorial and overview of Ruby version 1.6; a detailed description of the language's structure, syntax, and operation; a guide to building applications with Ruby; a comprehensive library reference.
Abstract: The book is a complete Ruby reference. It provides a tutorial and overview of Ruby version 1.6; a detailed description of the language's structure, syntax, and operation; a guide to building applications with Ruby; and a comprehensive library reference. The book is organized into five parts: 1. Roadmap: Gives a roadmap of the book. Part I-Facets of Ruby 2. Ruby.new: This is a short chapter that describes all the common language features used in the examples along with the special vocabulary used in Ruby. 3. Classes, objects, and variables: Looks at how to create classes and objects in Ruby, and some of the ways in which Ruby is more powerful than most object-oriented languages. 4. Containers, blocks, and iterators: Describes containers (objects that hold references to one or more other objects) and iterators (A Ruby iterator being a method that can invoke a block of code). 5. Standard types: This chapter covers basic types in Ruby: numbers, strings, ranges, and regular expressions. 6. More about methods: Gets into more details on methods. 7. Expressions: This lesson describes various kinds of expressions that are available in Ruby. 8. Exceptions, catch, and throw: This lesson covers error handling. 9. Modules: Modules are a way of grouping together methods, classes, and constants. 10. Basic input and output: Describes the use of IO objects (that are used to perform Input-Output operations). 11. Threads and proce~ues: This chapter looks at threads (split up cooperating tasks within the program, using multiple threads) and processes (split up tasks between different programs, using multiple processes). 12. When trouble strikes: This chapter covers the features in Ruby that will help debug you programs. It then goes on to show some common mistakes that can be made in Ruby and how to fix them. Part II-Ruby in its setting 13. Ruby and its world: Describes how Ruby interacts with its environment. 14. Ruby and the web: Shows how Ruby can be used to write CGI scripts and how to embed Ruby in HTML. 15. Ruby Tk: Tk is an extension that provides Ruby with a graphical user interface. This lesson presents how to access Tk features from Ruby. 16. Ruby and Microsoft Windows: This chapter examines features and extensions designed to make Ruby more useful in a Microsoft Windows environment. Some secrets to using Ruby effectively under Windows are also shared. 17. Extending Ruby: Describes how to extend Ruby with …

Journal Article
TL;DR: This research develops a technique that aids automatic behavior verification for a particularly difficult problem: determining the correction of screen output.
Abstract: A thesis submitted to Florida Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering

Journal Article
TL;DR: Algorithmic (KCS) complexity results can be interpreted as indicating some limits to software estimation, and these limits are abstract they nevertheless contradict enthusiastic claims occasionally made by commercial software estimation advocates.
Abstract: Algorithmic (KCS) complexity results can be interpreted as indicating some limits to software estimation. While these limits are abstract they nevertheless contradict enthusiastic claims occasionally made by commercial software estimation advocates. Specifically, if it is accepted that algorithmic complexity is an appropriate definition of the complexity of a programming project, then claims of purely objective estimation of project complexity, development time, and programmer productivity are necessarily incorrect.

Journal ArticleDOI
TL;DR: This paper presents experience with explicitly managing variability within a software architecture with mechanisms in the architecture to support change.
Abstract: This paper presents experience with explicitly managing variability within a software architecture. Software architects normally plan for change and put mechanisms in the architecture to support th...

Journal ArticleDOI
TL;DR: The modeling choices that were made when creating this information model, and the lessons learned over a few years of usage are communicated.
Abstract: The Datrix team within Bell Canada has been offering its source code analysis tools to the research community for a number of years. These tools perform a number of analyses that revolve around a central model (Datrix-ASG) developed by the Datrix team, and use an interchange format similar to TA, which we call Datrix-TA. This paper intends to communicate the modeling choices that were made when creating this information model, and the lessons learned over a few years of usage.

Journal ArticleDOI
TL;DR: A dual approach to real-time software development is explored, where models are written in UML, as this is expected to be relatively easy and economic and then models are automatically translated into other languages.
Abstract: This article explores a dual approach to real-time software development. Models are written in UML, as this is expected to be relatively easy and economic. Then models are automatically translated ...

Journal ArticleDOI
TL;DR: Experiences of presenting the formal Z notation on one and later two course modules to computer science undergraduates, especially with respect to providing supporting web-based resources and using tool support are described.
Abstract: This short paper describes experiences of presenting the formal Z notation on one and later two course modules to computer science undergraduates, especially with respect to providing supporting web-based resources and using tool support. The modules were part of a more general course unit on formal methods.

Journal ArticleDOI
Ken Frazer1
TL;DR: This is the best place for you where you can find the accelerated c++ practical programming by example document and it is free to get the download links.
Abstract: If you are looking for Accelerated C++ Practical Programming By Example in pdf file you can find it here. This is the best place for you where you can find the accelerated c++ practical programming by example document. Sign up for free to get the download links. There are 3 sources of download links that you can download and save it in your desktop.

Journal ArticleDOI
TL;DR: Scenario-based specifications such as Message Sequence Charts (MSCs) are becoming increasingly popular as part of a requirements specification.
Abstract: Scenario-based specifications such as Message Sequence Charts (MSCs) are becoming increasingly popular as part of a requirements specification. Scenario describe how system components, the environm...

Journal ArticleDOI
TL;DR: The main result of the workshop is the agreement of the majority of participants to work on refining GXL (Graph eXchange Language) to be the SEF, a standard exchange format for data extracted from and about source code.
Abstract: A workshop was held at ICSE 2000 in Limerick, Ireland to further efforts in the development of a standard exchange format (SEF) for data extracted from and about source code. WoSEF (Workshop on Standard Exchange Format) brought together people with expertise in a variety of formats, such as RSF, TA, GraX, FAMIX, XML, and XMI, from across the software engineering discipline. We had five sessions consisting of a presentation and discussion period and a working session with three subgroups. The five sessions were: 1) Survey and Overview, 2) Language-level schemas and APIs, 3) High-level schemas, 4) MOF/XMI/UML and CDIF, and 5) Meta schemas and Typed Graphs. During that time we reviewed previous work and debated a number of important issues. This report includes descriptions of the presentations made during these sessions. The main result of the workshop is the agreement of the majority of participants to work on refining GXL (Graph eXchange Language) to be the SEF. GXL is an XML-based notation that uses attributed, typed graphs as a conceptual data model. It is currently a work in progress with contributors from reverse engineering and graph transformation communities in multiple countries. There is a great deal of work to be done to finalise the syntax and to establish reference models for schemas. Anyone interested is welcome to join the effort and instructions on how to get involved are found at the end of the workshop report. Three papers from the workshop have been reprinted here to promote reflection and encourage participation in the work to develop an SEF.

Journal ArticleDOI
TL;DR: The nature of the nascent field of Search-Based Software Engineering is outlined, and the papers presented at the workshop and the discussions which took place are outlined.
Abstract: This paper reports on the first international Workshop on Software Engineering using Metaheuristic INnovative ALgorithms.The aim of the workshop was to bring together researchers in search-based metaheuristic techniques with researchers and practitioners in Software Engineering. The workshop sought to support and develop the embryonic community which straddles these two communities and which is working on the application of metaheuristic search-based techniques to problems in Software Engineering.The paper outlines the nature of the nascent field of Search-Based Software Engineering, and briefly outlines the papers presented at the workshop and the discussions which took place.

Journal ArticleDOI
TL;DR: This workshop will focus on reasoning in the presence of inconsistency, for a wide range of software engineering activities, such as building and exploring requirements models, validating specifications, verifying correctness of implementations, monitoring runtime behaviour, and analyzing development processes.
Abstract: IWLWI-01 --- The Second International Workshop on Living with Inconsistency, took place in Toronto, Canada, on May 13, 2001 as part of ICSE-01. The following is a short overview of this workshop.

Journal ArticleDOI
TL;DR: This paper gives a brief bibliographical overview of exchange formats and related research areas and tries to give a brief assessment of the more interesting ones.
Abstract: This paper gives a brief bibliographical overview of exchange formats and related research areas. We classify exchange formats and try to give a brief assessment of the more interesting ones.

Journal ArticleDOI
TL;DR: A simple mechanism for structuring specifications that remains entirely first-order and thus amenable to automatic analysis by modelling structures as atoms is described.
Abstract: A simple mechanism for structuring specifications is described. By modelling structures as atoms, it remains entirely first-order and thus amenable to automatic analysis. And by interpreting fields...

Journal ArticleDOI
TL;DR: Making Sense of the Bazaar: 1st Workshop on Open Source software Engineering brought together 30 researchers and practitioners from 8 countries to discuss Open Source Software as an emerging Software Engineering paradigm.
Abstract: Since the coining of the term "Open Source" in 1998, there has been a surge of academic and industrial research on the topic. Making Sense of the Bazaar: 1st Workshop on Open Source Software Engineering brought together 30 researchers and practitioners from 8 countries to discuss Open Source Software as an emerging Software Engineering paradigm. The full proceedings of the workshop have been made available online, and the full workshop report will be published in a special issue of IEE Proceedings --- Software on Open Source Software Engineering.

Journal ArticleDOI
TL;DR: This paper addresses the problem of high-confidence verification of safety critical systems by addressing the need to take special care when verifying the reliability of these systems.
Abstract: Safety critical systems require to be highly reliable and thus special care is taken when verifying them in order to increase the confidence in their behavior. This paper addresses the problem of f...