2012 · 21 citations · 9 references
Software MaintenanceEngineeringBusiness IntelligenceExternal LibrariesSoftware EngineeringSource Code AnalysisSoftware AnalysisOpen ApiData ScienceSystems EngineeringSoftware AspectSoftware MiningDependency AnalysisComputer ScienceSoftware VisualizationApi UsageStatic Program AnalysisSoftware DesignSoftware EvolutionMaintainabilitySoftware DevelopmentProgram AnalysisSoftware TestingMaintenance ManagementStatic Analysis ToolSystem Software
Reuse of third-party libraries promises significant productivity improvements in software development. However, dependencies on external libraries and their APIs also introduce risks to a project and impact strategic decisions during development and maintenance. Informed decision making therefore requires a thorough understanding of the extent and nature of dependencies on external APIs. As realistically sized applications are often heavily entangled with various external APIs, gaining this understanding is infeasible with manual inspections only. To address this, we present an automated approach to analyze the dependencies of software projects on external APIs. The approach is supported by a static analysis tool featuring a visualization of the analysis results. We evaluate the approach as well as the tooling on multiple open source Java systems.
9
Using dependency models to manage complex software architecture
Neeraj Sangal, Ev Jordan, Vineet Sinha et al. · 2005 · 370 citations
Software Maintenance, Problematic Dependencies, Engineering +22
Software visualization in the large
T. Ball, S.G. Eick · Computer · 1996 · 347 citations
Software Maintenance, Interactive Visualization, Invisible Nature +15
Effects of reuse on quality, productivity, and economics
W.C. Lim · IEEE Software · 1994 · 315 citations