abstract = "With the growing popularity of globally distributed
teams in software development, software architectures
must be designed and maintained with an organizational
perspective in mind. Software architects often
decompose systems into modules that are intended to be
developed and maintained independently and in parallel.
However, prevailing techniques for modularizing
software designs often rely on intuition and
experience, leading to modules that are not guaranteed
to be independent tasks. Even when a design is well
modularised at the beginning, the software can evolve
in ways that deviate from the designed modular
structure, making tasks that are initially designed to
be independent, not actually independent. We lack the
theories, models, and tools to address these issues,
and support the parallel development and maintenance of
software. Therefore, our research objectives are to
develop design-centric theories and models to: (1)
facilitate modularity assessment in terms of task
parallelism, and (2) to identify design problems that
harm task parallelism. To reach these objectives, we
contribute a design centric framework for maximising
concurrent work in software development and
maintenance. Specifically, we contribute: (1) a
scalable formal model of generalized software
dependencies, (2) a model for automatically identifying
tasks that can be assigned for parallel development,
(3) an approach for identifying and prioritizing
modularity violations that degrade task parallelism,
and (4) a theory that takes the temporal dimension of
revision history into consideration for better
supporting software modularity analysis in the context
of software evolution.",
notes = "Almost no mention of GP? Nov 2024 multiple link
failures at
researchdiscovery.drexel.edu/esploro