Brad Appleton's Software Engineering Links

Last update: Thu Feb 26 16:29:01 CST 1998


Brad Appleton
Software Tools Developer
E-mail: brad@bradapp.net
WWW: www.bradapp.net/

911 links to Software Engineering on the World Wide Web.

Detailed Table of Contents


Software Engineering Resources

Concurrent Engineering Research Center
Construx Software Development Resources
Construx Software Development Links
Christine Mumford's Resources page
Dick Botting's Software Development Research Resources
Distributed Software Engineering
Electronic Engineers' Toolbox
Epigrams in Programming, Alan Perlis
NASA Software Engineering Links
Pacific Software Research Center
Psychology of Programming Interest Group (PPIG)
PTedesco's Home Page
RenaissanceWeb - Software Reengineering
RSPA Information/System Engineering Links
RSPA Real-Time Software Links
RSPA Software Engineering Resources
SEI Information Server
SEI/CMU ftp site
SEweb, Flinders Univ.
SEworld
SEworld is an internet resource which provides the Software Engineering community with timely announcements of conferences, workshops, symposia, special journal issues, calls for papers, research and educational systems, and the like. Use of seworld is for non-commercial purposes only.
Software Developer's Handbook
The Software Developer's Handbook is a compendium of knowledge about the various facets of Software Development, with links and references to original, more in-depth sources. This is not meant to be the official, sole source of wisdom on any of the subjects it covers. Its purpose is to identify topics relevant to the art, science, and discipline of developing quality software.
Software Engineering Archives
Software Engineering References & Links, SMU
Software Engineering Links, SMU
Software Engineering Resources, Gert Florijn
Software Engineering Web Module
SPC Software Engineering Links
Steve McConnell's Home Page
SW-ENG Home Page
SYDE 221 Software Design Course
TCM's Training & Development Resource Centre
USC Software Engineering Resources

back to Software Engineering


Software Engineering Guides and Papers

Annals of Software Engineering Website
Construx Software Development Checklists
Construx Sample Software Documents
How to write User Docs, John Massa
Ovum Reports Home Page
John Lambert's Software Engineering Overview
Software Engineering (Computer Technology)
Software Engineering Defined!?!
Software Engineering Glossary
Software Engineering Proverbs
Software Engineering: a Field Guide
Steve McConnell's Best Practices Columns
7 Principles of Software Development
STSC Documentation and MIL-STD 498
Tom Van Vleck Software Engineering Stories

back to Software Engineering


Software Engineering Projects, Groups and Conferences

ACM SIGSOFT
ACM Technical Standards Committee
Association For Women In Computing
Atlantic Systems Guild
DA VINCI Initiative Homepage
The Da Vinci initiative aims to explore computer support mechanisms for enhancing distributed engineering design change negotiation. The system envisioned would include computer-supported design tools, distributed communication tools, design knowledge access tools, design artifact object models, as well as a methodology and inference engine for design change management.
Consortium for Software Engineering Research
ESEG at UMCP Home Page
European Software Institute (ESI)
FASE - Forum for Advancing Software engineering Education
FIE 97: Session Index
ICSE'97, Boston, Massachusetts, USA
ICSE'98, Kyoto, Japan
ICSE'98 Workshop on Human Dimensions in Software Development
Dublin Centre For Software Engineering
NASA/WVU Software Research Laboratory
The Software Research Laboratory (SRL) is a cooperative effort between the NASA Office of Safety and Mission Assurance (OSMA) and West Virginia University. The NASA/WVU Software Research Laboratory is located at the NASA Independent Software Verification and Validation Facility in Fairmont, West Virginia. If you would like more information on the research project, you can subscribe to our quarterly newsletter or to the nasa-wvu-srl mailing list.
NRC IIT Software Engineering Group
Software Engineering Reading Group
Software Engineering Research Laboratory
Software Productivity Consortium Home Page
Software Research Institute
STSC Home Page
Technical Council on Software Engineering
UBS: Software Engineering

back to Software Engineering


Software Architecture


Software Configuration Management


Software Estimation

CoCoMo FAQ from Softstar Systems
CoCoMo Project Homepage
CoCoMo Tutorial, Mark Kirstein
Construx Free Estimation tool
DACS Cost Estimation
Empirical Software Engineering, Journal
Function Point FAQ
Function Points, Longstreet Consulting
History of Software Measurement
IFPUG Home Page
NASA Parametric Cost Estimating Group
International Society of Parametric Analysts
SEPO REVIC Estimation Model
Software Cost Estimation Study - Table of Contents
USC CoCoMo Tutorial, Ray Potter
Value Engineering Home Page
What Are Function Points?, Capers Jones

back to Software Engineering


Software Evolution and Maintenance

ARCS: Architecture and Composition of Software
he ARCS research group is formed by researchers from the University of Karlskrona/Ronneby and the University of Kalmar. Within ARCS we study the architecture of software systems and the composition of software components in such systems, primarily from the perspective of the object-oriented paradigm. This indicates that our approach to software architecture is influenced by our experiences in object-oriented frameworks and class libraries, design patterns and advanced object-oriented computation models.
ASSET Welcome Page
Blackberry SDRR Project
The goal of the SDRR project was to create a technology for generation of software component
CARDS Home Page
Centre for Software Maintenance
Design Recovery and Program Understanding
Genitor Object Construction Suite
The GHINSU project
Ghinsu is an environment that integrates a number of tools that aid in a number of software engineering activities primarily maintenance. The input to the current version of Ghinsu is a program written in large subset of C (including pointers). Ghinsu has been supported via grants by the Software Engineering Research Center (SERC) and developed at the University of Florida's Computer and Information Sciences Department.
Repository Based SE Program
SEI Domain Engineering
SEI Open Systems
Software Evolution & Reuse Home Page
Software Evolution Group at UCSD
Software Maintenance Links, SMU
SSGRG - Software Systems Generator Research Group
Software system generators are tools for assembling complex software from interchangeable, reusable components. We have developed GenVoca, a domain-independent model of software construction that defines systems as algebraic equations, where terms are components. GenVoca has been successfully applied to many domains including database management systems, avionics, and data structures. Our results have demonstrated GenVoca generators can substantially improve productivity and application run-time performance.
TakeFive Software's Sniff++
The Unravel Program Slicing Tool
Wisconsin Program-Slicing Project's Home Page
The goal of this project is to create enhanced tools to support the development of complex software systems. The objective is to create tools that provide powerful language-specific program-manipulation operations. In particular, the project has explored how program slicing can serve as the basis for such program-manipulation operations. The slice of a program with respect to a set of program elements S is a projection of the program that includes only program elements that might affect (either directly or transitively) the values of the variables used at members of S. Slicing allows one to find semantically meaningful decompositions of programs, where the decompositions consist of elements that are not textually contiguous. Program slicing is a fundamental operation that can aid in solving many software-engineering problems. For instance, it has applications to program understanding, maintenance, debugging, testing, differencing, specialization, reuse, and merging.
The Wisconsin Program-Slicer
The Wisconsin Program-Slicing Tool is a software system that supports operations on C programs, including backward slicing, forward slicing, and chopping [HRB90, RHSR94, RR95], which can help the user gain an understanding of what a program does and how it works. The Slicing Tool consists of a package for building and manipulating control-flow graphs and program dependence graphs, as well as a front-end that parses C programs and translates them to the internal representations used for slicing.

back to Software Engineering


Software Methods and Techniques


Formal Methods and Cleanroom SE

BCS Formal Aspects of CS Group
BRICS Formal Methods Research
Cleanroom Selected Bibliography
Cleanroom Software Engineering, Inc.
Cleanroom Software Engineering tutorial
DACS Cleanroom Software Engineering
DACS Formal Methods
Formal Methods and Theory Research Group
Formal Methods at Bell Labs
Formal Methods at SRI
Formal Methods European HUB
NRC IIT Formal Methods Research
NRC IIT Formal Methods Resources
WWW Virtual Library: Formal Methods
WWW Virtual Library: Formal Methods
WWW Virtual Library: The Z notation

back to Software Methods and Techniques


Programming Methods

ACM-IIT Programming Competition League (AIPCL)
Aspect-Oriented Programming Home Page
BCS Advanced Programming Group
BCS Mathematical Programming Group
CMU POP Group
CMU Principles of Programming (POP) Group. The goal of the POP group is to understand, develop, and demonstrate the principles, processes, and supporting technologies for the construction of computing systems.
Component-Oriented Programming, TAU
Component Technology Homepage
CONCUR - IIT Concurrent Programming Group
Generic Programming Research Group
HL: A Markup Language For HTML and Latex
The HL markup language is designed to translate to both HTML and Latex. Its syntax resembles Latex more than HTML. However, because its markup commands describe function rather than dictate format, the semantics of the HL language resembles HTML more than Latex. The HL language is designed to differentiate between text and code chunks in the style of a literate programming tool. However, the HL language may be used for purposes other than literate programming.
Intentional Programming Overview
IPG - International Programmers Guild - Society
Knuth: Literate Programming
Knuth and Levy:CWEB
Literate Programming FAQ
Literate Programming Library
Noweb Literate Programming home page
Microsoft Research Intentional Programming Group
Microsoft Research Program Analysis Group
Microsoft Research Advanced Development Tools
MIT Media Lab, Software Agents Group
Open Implementation Home Page
Open Implementation is a software design technique that helps write modules that are both reusable and very efficient for a wide range of clients. In the Open Implementation approach, modules allow their clients individual control over the module's own implementation strategy. This allows the client to tailor the module's implementation strategy to better suit their needs, effectively making the module more reusable, and the client code more simple. This control is provided to clients through a well-designed auxiliary interface.
Package-Oriented Programming (POP!)
Programming Methodology Group Home Page
Programming Tips from the Software Doctor
The Stony Brook Algorithm Repository
The Tao Of Programming

back to Software Methods and Techniques

BCS Methods & Tools Group
Cetus Links: O-O Methods
Code Documentation Principles
DA VINCI Initiative Homepage
The Da Vinci initiative aims to explore computer support mechanisms for enhancing distributed engineering design change negotiation. The system envisioned would include computer-supported design tools, distributed communication tools, design knowledge access tools, design artifact object models, as well as a methodology and inference engine for design change management.
Design for ... Home Page
Design for Competitive Advantage Home Page
DSDM Consortium WWW Page
Feature-Oriented Domain Analysis
The Feature-Oriented Domain Analysis (FODA) methodology resulted from an in-depth study of other domain analysis approaches . Successful applications of various methodologies pointed towards approaches that focused on the process and products of domain analysis. As a result, the FODA feasibility study [CMU/SEI-90-TR-21] established methods for performing a domain analysis, described the products of the domain analysis process, and established the means to use these products for application development. The FODA methodology was founded on a set of modeling concepts and primitives used to develop domain products that are generic and widely applicable within a domain. The basic modeling concepts are abstraction and refinement.
Good Programming, Developer's Handbook
Metamodel.com: Metamodel information
Methods & Tools Newsletter
Methods Integration Research Group
POOMA - Parallel Object-Oriented Methods and Applications
Reuse Contracts
RSPA Analysis Concepts and Methods Links
RSPA Design Concepts and Methods Links
Software Design Methods Report
Software Methods and Tools Homepage
Wisconsin Program-Slicing Project's Home Page
The goal of this project is to create enhanced tools to support the development of complex software systems. The objective is to create tools that provide powerful language-specific program-manipulation operations. In particular, the project has explored how program slicing can serve as the basis for such program-manipulation operations. The slice of a program with respect to a set of program elements S is a projection of the program that includes only program elements that might affect (either directly or transitively) the values of the variables used at members of S. Slicing allows one to find semantically meaningful decompositions of programs, where the decompositions consist of elements that are not textually contiguous. Program slicing is a fundamental operation that can aid in solving many software-engineering problems. For instance, it has applications to program understanding, maintenance, debugging, testing, differencing, specialization, reuse, and merging.
Xerox PARC Embedded Computation Area

back to Software Engineering


Software Metrics

Australian Software Metrics Association
Cetus Links: O-O Metrics
CU Arcadia Process Metrics and Evaluation Papers
DACS - Data & Analysis Center for Software
DACS Software Measurement
Empirical Software Engineering, Journal
History of Software Measurement
METRE C Software Metrics Tool Tutorial
Metrics HandiGuide
Norman Fenton's home page
Norman Fenton's papers
Norman Fenton's Software Measurement Links
O-O Metrics Discussion
O-O Systems Metrics
Object-Oriented Metrics Publications
OOPSLA'96 papers on O-O Metrics
Patti Beadle's Software Metrics
Programs for C Source Code Metrics
QMOOD++ - automated Quality Metrics for OOD
RSPA Process Metrics Links
RSPA Technical Metrics Links
SATC Metrics
SEI Software Engineering Measurement & Analysis
Software Measurement and Functional Programming
Software Metrics - Forum
Software Metrics Bibliography
Software Metrics Classification
Software Metrics Home Page
Software Metrics Investigation and Tool
Software Metrics sites on the Web
STSC Software Metrics Page
Warren Harrison's Software Metrics page
Wayne Mackrell's Software Metrics Summary Page
WISE for Linux
WISE: Web-Integrated Sw Metrics Env.
The Web-Integrated Software metrics Environment (WISE) is the first WWW-based project management and metrics system available on the WWW. WISE is a WWW-based tool that provides a framework for managing software development projects across the Web. Programmers and managers can log issue reports, track the status of issues, and view project metrics using standard WWW browsers. WISE provides a non-intrusive method to coordinate project activities and allow software development teams to view their progress and performance.

back to Software Engineering


Software Process


Software Project Management


Software Quality


Software Quality Resources

ASQC Home Page
Centre for Software Reliability
Claude Stricker's Quality Page
CQI: Continuous Quality Improvement Server
Function Analysis Home Page
GOAL/QPC Research
GOAL/QPC WWW Home Page
Grout's Poka-Yoke Page
Grout's Quality Management Links
ISO Online
Longstreet Consulting IFPUG Info
McCabe & Associates Home Page
QA Dude - Software Quality Resources
Quality Function Deployment
Quality in Computing
Quality Network Intro Page
Quality Online Forum
Quality Resources Online
Reliability Engineering Home Page
SCOPE: Software Quality and Productivity
Software Quality Institute (SQI)
The Software Quality Page
Software Quality Links, SMU
SR/Institute's Software Quality HotList
STSC Software Quality Engineering Page
Software Reliability Links, SMU
Software Safety Links, SMU

back to Software Quality


Software Quality Publications

Cost Technologies for Competitive Advantage
Deming Electronic Network
McCabe & Associates Outlook Newsletter
P-RooT & COO Quality Papers and Reports
Personal Commitment to Software Quality, Watts Humphrey
Price Systems Technical Papers
Quality Management Principles
SingleSource Guide to Software Quality Books
SQA Plan Template, Dennis Butler
Software QA Magazine

back to Software Quality

back to Software Engineering


Software Requirements Engineering

Effective Requirements Management Under SEI CMM
Requirements Engineering Newsletter
Requisite Inc.'s Requirement.com
RENOIR Home Page
RENOIR is the Requirements Engineering Network Of International cooperating Research groups. RENOIR is a network of excellence established within the Fourth Framework Programme (FP4) of the European Union. It is a network of research groups, each with established excellence in the area of requirements engineering, funded through the FP4 provisions for research and technology development in information technology, collectively known as ESPRIT.
Requirements Definition Techniques, SMU
Requirements Engineering Tools and Techniques
Requirements Gathering, Developer's Handbook
Requirenautics Quarterly
RPL Requirements Analysis Home Page
The Rapid Prototyping Labaratory Home Page for Requirements Analaysis and Elicitation using the LOCANA O-O CASE tool.
Bruce Whitenack's RAPPeL
RAPPeL is a pattern language that provides direction and rationale for guiding analysts, developers and project managers in determining and defining requirements for business applications (e.g. information management systems, decision support systems, work-flow management, scheduling, etc.) to be developed in an OO environment.
QSS Papers on Requirements Engineering
Requirements Management for Small Organizations
SEweb - Requirements Engineering
STSC Requirements Engineering & Design Page
Distrubuted O-O Requirements Management
Use-Case Resources Page
Use-Case FAQ
Use-Cases Workshop (OOPSLA)
User Requirements Document Template
the FLAVORS project
This project is examining the use of formal methods to find errors in specifications. The approach is particularly geared to V&V efforts, where the aim is not to develop and baseline complete formal specification, but to perform "surgical strikes" to check for particular properties or to test for particular kinds of error in specifications. We refer to this as "lightweight" use of formal methods, and we are particularly interested in testing formal properties of partial specifications.
the WHERE project
This project is concerned with the communication and coordination problems faced on large, geographically distributed projects. The problems are especially evident where several organisations need to cooperate on a project; hence we have focussed on IV&V processes. IV&V makes an interesting case study material, because the processes of finding and repairing errors in project material (specifications, code, manuals, etc) is much more observable when it crosses organisational boundaries.

back to Software Engineering


Software Reuse

BCS Software Reuse Group
Boeing RDE - Reuse-Driven Development Environment
Cetus Links: Software Reuse
Dick Botting's Reuse Resources
DACS Software Reuse
Fundamental Reuse Principles, Moore
IEEE RSC Web
IEEE RSC Software Reuse Principles, Summary
IEEE RSC, Software Reuse Principles Home
Martin Griss's Reuse Page
OSU Reusable Software Research
Package-Oriented Programming (POP!)
Patterns of Software Reuse
ReNewsWWW
Reuse Contracts
Reuse Group Homepage
Reuse Home Page
Reuse Metrics Calculator
Reuse '97
ReuseIC Home Page
RSPA Reuse Links
Software Evolution & Reuse Home Page
Software Reuse Organizations
SORT: Software Optimization and Reuse Technology
Working Group for Institutionalizing Software Reuse
WISR Software Reuse Papers & Abstracts
WISR8: 8th Annual Workshop on Software Reuse
WVU Reusable Software Research Group (RSRG)

back to Software Engineering


Software Reviews and Inspections

WWW Formal Technical Reviews Archive
The ASSIST Page - Supporting Software Inspection
C++ Code Inspection Checklist
C++ Style Guide
Construx Software Development Checklists
GUI Inspection Checklist
Michael Fagan Associates
NASA Formal Inspections Guidebook
Product Knowledge is not a Prereq for Inspection
Software Inspections & Reviews Org.
Software Inspections & Technical Reviews: Transcending the Dogma
Technical Reviews and Inspections Bibliography
Tools for Formal Technical Review
Weiss and Kimbrough Inspection Materials
Why Isn't Inspection Used?

back to Software Engineering


Software Risk Management

QSM Risk Management Strategies
Integrated Risk Management Process (IRMP)
Risk Management, Alistair Cockburn
RISKWeb Home Page
RSPA Risk Analysis Links
SEI Risk Program
SEI Risk Management FAQ
SRI-CSL-RISKS

back to Software Engineering


Software Testing


Software Tools and Technology


CASE, IDEs, and SDEs

BCS CASE Group
CASE companies and their products
CASE Tools Home Page
MetaCASE Home Page
Formally Describing Software Tool Integration Frameworks
Genitor - Building a Rapid ODE
Genitor is a suite of development tools that assists C/C++ developers in implementing and reusing objects. A graphical editing environment lets developers rapidly construct any kind of class, function, struct, union, or template. Genitor stores objects in one or more shared repositories. Powerful search capabilities help users quickly locate and reuse objects developed by any member of their project team. Genitor generates compiler-ready code as well as printed and online documentation.
IPTG Info on Software Development Tools
Microsoft Research Advanced Development Tools
Microsoft Research Languages & Tools Group
The MultiView SDE
This project is investigating the automatic maintenance of multiple views of software components (such as textual, flowchart and other graphical views) in integrated programming environments, as an aid to software development productivity. A fourth-generation prototype of the MultiView environment has been implemented; this prototype demonstrates the approach to maintaining multiple views, parallel incremental code generation (i.e., object code for the program is generated in the background during program editing) and the tools provided for developing new kinds of views.
PCTE Home Page
Programming Environments Lab at IDA-LIU
Reactor--Blue Paper
Reactor is a SRC Modula-3 based, distributed application development system that represents a new generation of technology for building client/server, multi-tiered, and distributed applications. It combines an innovative web-based application development system with a rich and robust distributed infrastructure.
SEI Bibliography of CASE/CM Technology
SEI CASE Environments Group
SEweb - Tool Integration Home Page
SEweb - Tools & Environments
TakeFive Software's Sniff++
Tailoring Integrated SE Environments with Frameworks

back to Software Tools and Technology

APP - Annotation PreProcessor
App is a tool for annotating systems with design specifications in a way that allows automatic checking of those specifications at runtime. App instruments C programs for runtime checking. It takes a C source file, annotated with high-level specifications, and pre-processes the specifications into executable C code. When used in conjunction with libapp, app can also be used to configure programs to generate a trace of their execution events.
ASSET - Asset Source for Software Engineering Technology
AT&T Labs Research - Software Tools
Cetus Links: O-O Tools
CIAO - Graphical Navigator for Software and Document Repositories
CIAO is a graph-based navigator that allows users to query and browse structural connections embedded in different software and document repositories. The architecture of CIAO enables the construction of successively more complex operators using a notion of virtual database pipelines.
DA VINCI Initiative Homepage
The Da Vinci initiative aims to explore computer support mechanisms for enhancing distributed engineering design change negotiation. The system envisioned would include computer-supported design tools, distributed communication tools, design knowledge access tools, design artifact object models, as well as a methodology and inference engine for design change management.
DACS Software Technology Base
Designing and Building Parallel Programs
EASEL - an Application-Building Language
The End-User Application System Encoding Language (EASEL) is a language and system for writing end-user applications based on interactive constructs such as windows, forms, menus and hypertexts. EASEL runs on UNIX platforms as a tool for: Designing a system architecture that maps closely to users' needs Building an interface that reflects that architecture Leveraging as much as possible from existing software tools in implementation.
Freeze & Melt Technology
Galileo: An Advanced Fault Tree Analysis Tool
HL: A Markup Language For HTML and Latex
The HL markup language is designed to translate to both HTML and Latex. Its syntax resembles Latex more than HTML. However, because its markup commands describe function rather than dictate format, the semantics of the HL language resembles HTML more than Latex. The HL language is designed to differentiate between text and code chunks in the style of a literate programming tool. However, the HL language may be used for purposes other than literate programming.
Natural Programming
The goal of this project is to make computer programming more accessible to children and adult non-programmers.
Methods & Tools Newsletter
microTOOL - Tools and Techniques
MIT Reinventing Computing Project
ModelAge - Agent Modelling and Technology
The goal of ModelAge is to establish a common formal model of the concept of agent , usable across a wide number of fields of Information Technology, where its importance is now appearing. the key facets of an agent appear to be: goals: each agent is trying to achieve through cooperation a precise objective under given constraints. beliefs: agents have an internal, imperfect representation of the world (including the state of other agents), on which their decisions are based. behaviours: agents act, communicate and perceive, showing thus an external behaviour that often obeys normative rules. heterogeneity: agents may be software, hardware systems, individual humans or human organizations.
Parallel Tools Consortium
PSEware - Problem Solving Environments
PSEware is a Toolkit for Building Problem-Solving Environments
SEI Technology
Semantics-Based Program Analysis and Manipulation
SLATE - History & Theory
SLATE - Overview
Software Development Tools, CERN ECP
Software Document Automation: A Technical Overview
Software Methods and Tools Homepage
Software Technology Interest Group
Software Technology Support Center
SORT: Software Optimization and Reuse Technology
System Software Research Group (UIUC)
TCM - Toolkit for Conceptual Modeling
User Interface Software Tools
The Wisconsin Program-Slicer
The Wisconsin Program-Slicing Tool is a software system that supports operations on C programs, including backward slicing, forward slicing, and chopping [HRB90, RHSR94, RR95], which can help the user gain an understanding of what a program does and how it works. The Slicing Tool consists of a package for building and manipulating control-flow graphs and program dependence graphs, as well as a front-end that parses C programs and translates them to the internal representations used for slicing.

back to Software Engineering


back to Brad Appleton's WWW Links

back to Brad Appleton's Home Page