Results 1 - 10
of
1,042
1A Generative Model of Software Dependency Graphs to Better Understand Software Evolution
"... Abstract—Software systems are composed of many interacting elements. A natural way to abstract over software systems is to model them as graphs. In this paper we consider software dependency graphs of object-oriented software and we study one topological property: the degree distribution. Based on t ..."
Abstract
- Add to MetaCart
on the analysis of ten software systems written in Java, we show that there exists completely different systems that have the same degree distribution. Then, we propose a generative model of software dependency graphs which synthesizes graphs whose degree distribution is close to the empirical ones observed
Software maintenance and evolution: A roadmap
- The Future of Software Engineering
, 2000
"... The production of new management approaches to evolution, leading to better understanding of the relationships between technology and business. How can software be designed so that it can easily be evolved? More effective tools and methods for program comprehension for both code and data A better fo ..."
Abstract
-
Cited by 119 (0 self)
- Add to MetaCart
The production of new management approaches to evolution, leading to better understanding of the relationships between technology and business. How can software be designed so that it can easily be evolved? More effective tools and methods for program comprehension for both code and data A better
Dissecting android malware: Characterization and evolution
- In IEEE Symposium on Security and Privacy
, 2012
"... Abstract—The popularity and adoption of smartphones has greatly stimulated the spread of mobile malware, especially on the popular platforms such as Android. In light of their rapid growth, there is a pressing need to develop effective solutions. However, our defense capability is largely constraine ..."
Abstract
-
Cited by 212 (8 self)
- Add to MetaCart
-anisms as well as the nature of carried malicious payloads. The characterization and a subsequent evolution-based study of representative families reveal that they are evolving rapidly to circumvent the detection from existing mobile anti-virus software. Based on the evaluation with four representative mobile
Towards a better understanding of software evolution: An empirical study on open source software
- in ICSM, 2009
"... Software evolution is a fact of life. Over the past thirty years, researchers have proposed hypotheses on how software changes, and provided evidence that both supports and refutes these hypotheses. To paint a clearer image of the software evolution process, we performed an empirical study on long s ..."
Abstract
-
Cited by 17 (2 self)
- Add to MetaCart
Software evolution is a fact of life. Over the past thirty years, researchers have proposed hypotheses on how software changes, and provided evidence that both supports and refutes these hypotheses. To paint a clearer image of the software evolution process, we performed an empirical study on long
ADG: Annotated Dependency Graphs for Software Understanding
, 2003
"... Dependency graphs such as call and data usage graphs are often used to study software systems and perform impact analysis during maintenance activities. These graphs show the present structure of the software system (e.g. In a compiler, an Optimizer function calling a Parser function). They fail to ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Dependency graphs such as call and data usage graphs are often used to study software systems and perform impact analysis during maintenance activities. These graphs show the present structure of the software system (e.g. In a compiler, an Optimizer function calling a Parser function). They fail
Graph-Based Analysis and Prediction for Software Evolution
"... Abstract—We exploit recent advances in analysis of graph topology to better understand software evolution, and to construct predictors that facilitate software development and maintenance. Managing an evolving, collaborative software system is a complex and expensive process, which still cannot ensu ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
Abstract—We exploit recent advances in analysis of graph topology to better understand software evolution, and to construct predictors that facilitate software development and maintenance. Managing an evolving, collaborative software system is a complex and expensive process, which still cannot
Software Interconnection Models
- Proceedings of the 9th International Conference on Software Engineering
, 1987
"... We present a formulation of interconnection models and present the unit and syntactic models --- the primary models used for managing the evolution of large software systems. We discuss various tools that use these models and evaluate how well these models support the management of system evolution. ..."
Abstract
-
Cited by 61 (14 self)
- Add to MetaCart
, to the predicates that define aspects of behavior) we provide tools that are better suited to manage the details of evolution in software systems and that provide a better understanding of the implications of changes. We do this by using the semantic interconnection model to formalize the semantics of program
Software Graphs and Programmer Awareness
, 2008
"... Dependencies between types in object-oriented software can be viewed as directed graphs, with types as nodes and dependencies as edges. The in-degree and out-degree distributions of such graphs have quite different forms, with the former resembling a power-law distribution and the latter an exponent ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Dependencies between types in object-oriented software can be viewed as directed graphs, with types as nodes and dependencies as edges. The in-degree and out-degree distributions of such graphs have quite different forms, with the former resembling a power-law distribution and the latter
Graph Traverse Software Pipelining
, 1998
"... Software pipelining is becoming widely used as a loop execution model for microprocessors supporting a high instruction level parallelism. In this paper we describe a heuristic method for software pipelining, named Graph Traverse Software Pipelining (GTSP), that divides the scheduling problem in two ..."
Abstract
- Add to MetaCart
Software pipelining is becoming widely used as a loop execution model for microprocessors supporting a high instruction level parallelism. In this paper we describe a heuristic method for software pipelining, named Graph Traverse Software Pipelining (GTSP), that divides the scheduling problem
Graph Exploration for Software Archeology
"... The Problem: Program comprehension and reverse engineering (i.e., software archeology) remains a major bottleneck for software maintenance. When a programmer must understand a large legacy program whose documentation is scarce, out-of-date, or irrelevant, she must browse its source code to build an ..."
Abstract
- Add to MetaCart
The Problem: Program comprehension and reverse engineering (i.e., software archeology) remains a major bottleneck for software maintenance. When a programmer must understand a large legacy program whose documentation is scarce, out-of-date, or irrelevant, she must browse its source code to build
Results 1 - 10
of
1,042