Tracking Specification Requirements Evolution: Database Approach Denis Silakov, ISP RAS
Software Standards and Specifications Text Test suites Additional tools for developers
Linux Standard Base Specifies: Binary interfaces (> 35000) Commands ELF & RPM formats Tests: Manually written Automatically generated Tools: LSB Building Environment (headers, stub libraries, lsb c compiler wrapper, etc.)
LSB Specification Database
Needs for History Support Evolution history, statistics Certification for different standard versions Tests and Tools for different versions
The Present Situation Support of separated file sets for different versions Entirely manual work Database storing temporal data Automatic difference generation Automatic statistics reports generation …
History Information Requirement added Requirement removed Requirement became deprecated Requirement became mandatory (not optional) Some requirement statements changed new requirement
Relational Databases: Temporal Dimension 1. Grouped Approach [0-1] 25 [2-3] 50 [4-5] 25 a ValueElement
Relational Databases: Temporal Dimension (2) 2. Ungrouped Approach 5425a 3250a 1025a EndStartValueElement
Temporal Dimension: Discrete Time Full list of time stamps 2,350a 0,1,4,525a Time Stamps ValueElement
Possible Approaches Summary Grouped approach Not pure relational database Ungrouped approach Simple database extension Extra records can be required Versions Lists Simple database extensions Less extra records, but lower performance
Time Stamps for Specification Requirements: Appeared in Withdrawn in Mandatory since Deprecated since …
Consistency Questions: General Appeared in < Withdrawn in Mandatory since >= Appeared in Deprecated since > Appeared in Deprecated since < Withdrawn in Mandatory Since < Withdrawn in ...
Consistency Questions: Semantics Based Interface ‘a’ uses Type ‘b’: b.Appeared in <= a.Appeared in b.Withdrawn in >= a.Withdrawn in
LSB Evolution Tracking Fields for evolution tracking in 13 tables Version support in all generators: Specification test generation LSB Building Environment files generation Automatic tests generation Web interface (LSB Navigator) with version support
LSB Evolution: Future Directions Version support in tools generated Track candidates for next LSB versions
Thank You