XRDS

Crossroads The ACM Magazine for Students

Sign In

Association for Computing Machinery

Articles Tagged: Software development process management

Articles & Features

Exception handling evaluation of large APIs

DEPARTMENT: Blogs

Exception handling evaluation of large APIs

By Maria Kechagia, March 2015

PDF | HTML | In the Digital Library

On the evolution of security bugs

On the evolution of security bugs

By Dimitris Mitropoulos, March 2015

PDF | HTML | In the Digital Library

Creativity + Computer Science

COLUMN: INIT

Creativity + Computer Science

By Nick DePalma, David Robert, June 2013

PDF | HTML | In the Digital Library

Blogs

DEPARTMENT: Blogs

Blogs

By Matthew Kay, Dimitris Mitropoulos, Wolfgang Richter, Lora Oehlberg, Lea Rosen, September 2012

PDF | HTML | In the Digital Library

Boosting productivity with the Boost Graph Library

DEPARTMENT: Hello world

Boosting productivity with the Boost Graph Library

By Dmitry Batenkov, March 2011

PDF | HTML | In the Digital Library

Planning and improvisation in software processes

This paper presents the results of an empirical study aimed at examining the extent to which software engineers follow a software process and the extent to which they improvise during the process. Our subjects tended to classify processes into two groups. In the first group are the processes that are formal, strict, and well-documented. In the second group are the processes that are informal and not well-structured. The classification has similar characteristics to the model proposed by Truex, Baskerville, and Travis [12]. Our first group is similar to their methodical classification, and our second group is similar to their amethodical classification. Interestingly, software engineers using a process in the second group stated that they were not using a process. We believe that software engineers who think that they are not using a process, because they have the prevalent concept of process as something methodical that is strict and structured, actually are using an informal (amethodical) process. We also found that software engineers improvise while using both types of processes in order to overcome shortcomings in the planned path which arose due to unexpected situations. This finding leads us to conclude that amethodical processes are processes too.

By Rosalva E. Gallardo-Valencia, Susan Elliott Sim, December 2007

PDF | HTML | In the Digital Library

The student's guide to GDC

By James Stewart, December 2007

PDF | HTML | In the Digital Library

Adaptively ranking alerts generated from automated static analysis

Static analysis tools are useful for finding common programming mistakes that often lead to field failures. However, static analysis tools regularly generate a high number of false positive alerts, requiring manual inspection by the developer to determine if an alert is an indication of a fault. The adaptive ranking model presented in this paper utilizes feedback from developers about inspected alerts in order to rank the remaining alerts by the likelihood that an alert is an indication of a fault. Alerts are ranked based on the homogeneity of populations of generated alerts, historical developer feedback in the form of suppressing false positives and fixing true positive alerts, and historical, application-specific data about the alert ranking factors. The ordering of alerts generated by the adaptive ranking model is compared to a baseline of randomly-, optimally-, and static analysis tool-ordered alerts in a small role-based health care application. The adaptive ranking model provides developers with 81% of true positive alerts after investigating only 20% of the alerts whereas an average of 50 random orderings of the same alerts found only 22% of true positive alerts after investigating 20% of the generated alerts.

By Sarah Smith Heckman, December 2007

PDF | HTML | In the Digital Library

Software verification and validation with destiny

This paper presents an introduction to computer-aided theorem proving and a new approach using parallel processing to increase power and speed of this computation. Automated theorem provers, along with human interpretation, have been shown to be powerful tools in verifying and validating computer software. Destiny is a new tool that provides even greater and more powerful analysis enabling greater ties between software programs and their specifications.

By Josiah Dykstra, April 2002

PDF | HTML | In the Digital Library

Introduction: WYSIWYG—more or less

By Fernando Berzal Galiano, June 2000

PDF | HTML | In the Digital Library

Objective viewpoint

By George Crawford, March 1999

PDF | HTML | In the Digital Library