In this article authors describe an approach to fostering debugging communities on the World-Wide Web, that will enable programmers to collaboratively debug programs synchronously and asynchronously. Over the past cou...
详细信息
In this article authors describe an approach to fostering debugging communities on the World-Wide Web, that will enable programmers to collaboratively debug programs synchronously and asynchronously. Over the past couple of years, a significant number of communities have benefited by interacting through the net using newsgroups and Webpages. To describe a bug, programmer needs to describe the code, the point in the execution where the symptom occurs, and the context. The article aims to make it easy for programmers to swap bug descriptions around the world. Therefore, system should be platform independent, run on relatively modest hardware, and should not require exchange of source code. Internet Software Visualization Laboratory (ISVL) is an approach to solving bug-description-sharing problem, which uses a client/server architecture to deliver visualizations any Java-enabled Web browser. Using a Java-enabled Web browser, programmers can connect to the ISVL client. Using the client, programmers can upload and run their programs on the server and receive back a visualization.
The article discusses the use of abstraction in computer programming. The author suggests that the biggest factor in determining the talent of a computer programmer is their ability to perform abstract thinking and to...
详细信息
The article discusses the use of abstraction in computer programming. The author suggests that the biggest factor in determining the talent of a computer programmer is their ability to perform abstract thinking and to exhibit abstraction skills. The author examines the use of abstraction in computer programming, including the aspects of withdrawing and removing elements of a design, the process of leaving out of consideration single properties of a complex object to address others, and the process of formulating general concepts.
The article focuses on the quantitative model created by the developers at Jet Propulsion Laboratory that helps hardware and software engineers make trade-offs among quality requirements early in development. Usually,...
详细信息
The article focuses on the quantitative model created by the developers at Jet Propulsion Laboratory that helps hardware and software engineers make trade-offs among quality requirements early in development. Usually, detailed information is scarce during a project's early phases but developers sometimes need to make major decisions about trade-offs among quality requirements. As a result, developers can get locked into an inferior design. With this, a new model was presented which was based on a coarse quantification of relevant factors and how those factors interact. The developers invented their defect detection and prevention (DDP) approach which is a risk-based requirements model.
作者:
Jackson, DanielMIT
Comp Sci & Artificial Intelligence Lab Cambridge MA 02139 USA
Software plays a fundamental role in our society, bringing enormous benefits to all fields. But because many of our current systems are highly centralized and tightly coupled, we are also susceptible to massive and co...
详细信息
Software plays a fundamental role in our society, bringing enormous benefits to all fields. But because many of our current systems are highly centralized and tightly coupled, we are also susceptible to massive and coordinated failure. A Chicago hospital lost its entire pharmacy database one night, and it was only able to reconstruct medication records for its patients by collecting paper printouts from nurses' stations. In their report on this incident, Richard Cook and Michael O'Connor concluded: "Accidents are signals sent from deep within the system about the sorts of vulnerability and potential for disaster that lie within."
MapReduce is a programming model and an associated implementation for processing and generating large datasets that is amenable to a broad variety of real-world tasks. Users specify the computation in terms of a map a...
详细信息
MapReduce is a programming model and an associated implementation for processing and generating large datasets that is amenable to a broad variety of real-world tasks. Users specify the computation in terms of a map and a reduce function, and the underlying runtime system automatically parallelizes the computation across large-scale clusters of machines, handles machine failures, and schedules inter-machine communication to make efficient use of the network and disks. programmers find the system easy to use: more than ten thousand distinct MapReduce programs have been implemented internally at Google over the past four years, and an average of one hundred thousand MapReduce jobs are executed on Google's clusters every day, processing a total of more than twenty petabytes of data per day.
This brief overview tells of the author's 35 years in the computing industry. Her career began coincidentally with a move to Zambia in the 1960s, where she learned to program an IBM 1130. Following a move to Austr...
详细信息
This brief overview tells of the author's 35 years in the computing industry. Her career began coincidentally with a move to Zambia in the 1960s, where she learned to program an IBM 1130. Following a move to Australia in 1989, she began her own computer consultancy to the geographical information community.
The article offers information on test-driven development (TDD) in the software industry. In order to effectively incorporate new capabilities in any software, unit tests are used by TDD. In it, programmer writes a te...
详细信息
The article offers information on test-driven development (TDD) in the software industry. In order to effectively incorporate new capabilities in any software, unit tests are used by TDD. In it, programmer writes a test for new capability followed by writing a new code which fails in the test. This helps programmer in writing a code which could successfully pass the test and thus adds the new capability to software. The article also offers information on several material published within the issue.
Though there have been advances in end-user programming, complex applicatons still need professional developers. This inspired look at the future of creating complex software explores the shift from programming enviro...
详细信息
Though there have been advances in end-user programming, complex applicatons still need professional developers. This inspired look at the future of creating complex software explores the shift from programming environments to design environments, discussing environemtns that help developers satisfy end-users' cognitive needs and help deal with contextual issues such as the aesthetic, practical, and social properties of the application and the users. A strong case is made that design environments will need to provide robust support for communication between developers and end users.
Service-oriented software is being hailed as the next revolutionary approach to software development. It allows organizations to rapidly form new software applications dynamically to meet changing business needs, thus...
详细信息
Service-oriented software is being hailed as the next revolutionary approach to software development. It allows organizations to rapidly form new software applications dynamically to meet changing business needs, thus alleviating the problems of software evolution that occur with traditional applications. The largest of these problems is understanding the existing software before it is changed. This article looks ahead at the issues involved in the automated construction of service-oriented software. While service orientation certainly helps solve some aspects of the evolution problem, software comprehension takes a new and potentially more challenging role.
The CUDA programming model provides a straightforward means of describing inherently parallel computations, and NVIDIA's Tesla GPU architecture delivers high computational throughput on massively parallel problems...
详细信息
The CUDA programming model provides a straightforward means of describing inherently parallel computations, and NVIDIA's Tesla GPU architecture delivers high computational throughput on massively parallel problems. This article surveys experiences gained in applying CUDA to a diverse set of problems and the parallel speedups over sequential codes running on traditional CPU architectures attained by executing key computations on the GPU.
暂无评论