IEEE Transactions on Software Engineering
A Controlled Expeniment on the Impact of Software Structure on Maintainability
IEEE Transactions on Software Engineering
Software metrics: an overview of recent results
Journal of Systems and Software
Towards Complexity Metrics for Ada Tasking
IEEE Transactions on Software Engineering
Evaluating Software Complexity Measures
IEEE Transactions on Software Engineering
An entity-life modeling approach to the design of concurrent software
Communications of the ACM
Task interaction graphs for concurrency analysis
ICSE '89 Proceedings of the 11th international conference on Software engineering
Compositional reachability analysis using process algebra
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Structural Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Specification-based test oracles for reactive systems
ICSE '92 Proceedings of the 14th international conference on Software engineering
Software complexity and Ada rendezvous: metrics based on nondeterminism
Journal of Systems and Software
Pertrubations: theory and methods
Pertrubations: theory and methods
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Predicting Source-Code Complexity at the Design Stage
IEEE Software
Restructuring symbolic programs for concurrent execution on multiprocessors
Restructuring symbolic programs for concurrent execution on multiprocessors
Hi-index | 0.00 |
An approach to statically analyzing a concurrent program not suited for analysis is described. The program is reengineered to reduce the complexity of concurrency-related activities, thereby reducing the size of the concurrency state space. The key to the reengineering process is a metric set that characterizes program task interaction complexity and provides guidance for restructuring. An initial version of a metric set is proposed and applied to two examples to demonstrate the utility of the reengineering-for-analysis process. The reengineering has potential benefits apart from supporting analyzability, following the dictum that if it is hard to analyze, it is hard to understand and maintain.