{'fraction_non_alphanumeric': 0.019867549668874173, 'fraction_numerical': 0.005117399157134257, 'mean_word_length': 5.464980544747082, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Driving the Software Release Process with Shape

While conventional UNIX tools provide acceptable support for elementary software management functions, such as version control and basic configuration management, there is a substantial lack of support for higher level system management functions, such as release preparation and change management for complex software systems. One major reason for the development of theShape toolkit was to improve this situation by providing a close integration of basic software object management and configuration control functions. The toolkit is a set of version control commands and Shape, a configuration management tool, which are integrated on top of a dedicated version object base. Shape uses a rule based approach to identify and select particular version objects in the object base by means of arbitrary attributes. It records identified configurations in unique configuration identification documents making it easy to maintain histories of entire software systems. Tool-, variant-, and version selection definitions are specified together with object dependencies as versionless abstract system models in Shapefiles. While it is generally easy to write Shapefiles for small (one programmer) projects, this task can be tricky for medium sized (or large) projects consisting of many subsystems developed and maintained by several programmers. In this paper we describe an easy to use yet powerful, user customizable product management system on top of the Shape toolkit. It enables individual programmers to maintain and develop subsystems of a larger project without loss of overall project integration. Administration, maintenance, and installation are considerably simplified by providing standardized functionality. Although the management system requires programmers to follow certain conventions, it provides good support for software system management. 1. Background The Shape toolkit [Mahler1988] is a collection of programs for version control and configuration management for UNIX based software engineering. It consists of a set of version control commands and Shape, a significantly enhancedMake-oid [Feldman1979]. Shape and the version control commands are integrated on top of AFS ( Attributed File System), a dedicated version object base [Lampen1988]. The system features RCS-style version control [Tichy1985] and a configuration identification and configuration build process that has full access to all revisions in the object base — other than Make which only knows about plain files. AFS is a system to store software objects which are understood as a complex of content data and a set of associated attributes. These objects are called attributed software objects. AFS’ built-in version control system supports the storage, identification, and retrieval of different versions of lines of development. A line of development consists of one changeable object ( busy version) represented by a conventional UNIX file and a group of successive, immutable versions stored in a separate AFS archive file. AFS provides a retrieval interface that allows to uniformly access ordinary file system objects as well as versions stored in AFS archives. It also supports derived object management, i.e. it maintains a cache of multiple versions of compiled object-files.