Information-flow and data-flow analysis of while-programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Artificial Intelligence
ANNA: a language for annotating Ada programs
ANNA: a language for annotating Ada programs
A designer/verifier's assistant
Readings in artificial intelligence and software engineering
Software interconnection models
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Version control in the Inscape environment
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
A practical approach to semantic configuration management
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
The implications of program dependencies for software testing, debugging, and maintenance
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Specification case studies
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An Axiomatic Approach to Information Flow in Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Shared resource matrix methodology: an approach to identifying storage and timing channels
ACM Transactions on Computer Systems (TOCS)
Certification of programs for secure information flow
Communications of the ACM
A lattice model of secure information flow
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Efficient computation of flow insensitive interprocedural summary information
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
A new model of program dependences for reverse engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Aspect: detecting bugs with abstract dependences
ACM Transactions on Software Engineering and Methodology (TOSEM)
Dynamic mutation testing in integrated regression analysis
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Programming faults and errors: Towards a theory of software incorrectness
Annals of Software Engineering
Correction to "Approximate Reasoning About the Sematic Effects of Program Changes"
IEEE Transactions on Software Engineering
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
A component-based software configuration management model and its supporting system
Journal of Computer Science and Technology
Comparing Two Models for Software Debugging
KI '01 Proceedings of the Joint German/Austrian Conference on AI: Advances in Artificial Intelligence
Extending Software Change Impact Analysis into COTS Components
SEW '02 Proceedings of the 27th Annual NASA Goddard Software Engineering Workshop (SEW-27'02)
A lightweight approach to technical risk estimation via probabilistic impact analysis
Proceedings of the 2006 international workshop on Mining software repositories
The impact of requirements changes on specifications and state machines
Software—Practice & Experience
Customized awareness: recommending relevant external change events
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
DSketch: lightweight, adaptable dependency analysis
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
A practice-driven systematic review of dependency analysis solutions
Empirical Software Engineering
Quantitative program dependence graphs
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Hi-index | 0.01 |
It is pointed out that the incremental cost of a change to a program is often disproportionately high because of inadequate means of determining the semantic effects of the change. A practical logical technique for finding the semantic effects of changes through a direct analysis of the program is presented. The programming language features considered include parametrized modules, procedures, and global variables. The logic described is approximate in that weak (conservative) results sometimes are inferred. Isolating the exact effects of a change is undecidable in general. The basis for an approximation is a structural interpretation of the information-flow relationships among program objects. The approximate inference system is concise, abstract, extensible, and decidable, giving it significant advantages over the main alternative formalizations. The authors' implementation of the logic records the justification for each dependency to facilitate the interpretation of results.