Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

An extensible program representation for object-oriented software

Published: 01 December 1994 Publication History

Abstract

An extensible representation for object-oriented programs is presented. It is based on the concept of a program dependency graph and elaborated to include both control flow and data flow information. The representation takes advantage of the basic incremental philosophy of the object-oriented approach to develop a more compact representation that is useful with practical programs. The basic approach reported here provides a static view of an object-oriented program. The approach can be expanded to provide dynamic information for tools such as interactive debuggers and other runtime tools. The outline of this extension is also presented.

References

[1]
The common object request broker: Architecture and specification. Technical report, Object Management Group and X/Open, 1992.
[2]
Hiralal Agrawal and Joseph R. Horgan. Dynamic program slicing. In Proceedings of the ACM SIGPLAN '90 Symposium on Programming Language Design and Implementation, pages 246--256, 1990.
[3]
Korel B. The program dependence graph in static program testing. Information Processing Letters, 24(2):103--108, Jan 1987.
[4]
Ryder B. G. Constructing the call graph of a program. IEEE Transactions on Software Engineering, 5(3):216--225, May 1979.
[5]
D. Binkley. Using semantic differencing to reduce the cost of regression testing. In Proceedings of the Conference on Software Maintenance '92, pages 41--50, 1992.
[6]
Callahan D. The program summary graph and flow-sensitive interprocedural data flow analysis. In Proceedings of SIGPLAN'88 Conf. Programming Language Design and Implementation, pages 47--56, 1988.
[7]
Hiralal Agrawal; Richard A. DeMillo and Eugene H. Spafford. Dynamic slicing in the presence of unconstrained pointers. In Proceedings of the Fourth Symposium on Testing, Analysis and Verification (TAV4). ACM/IEEE-CS, pages 60--73, 1991.
[8]
David Duke and Roger Duke. Towards a semantics for object-z. In VDM '90: VDM and Z, 1990.
[9]
Margaret A. Ellis and Bjarne Stroustrup. The Annotated C<sup>++</sup> Reference Manual. Addison-Wesley, Reading, MA, 1990.
[10]
E. Duesterwald; R. Gupta and M. L. Soffa. Rigorous data flow testing through output influences. In Proceedings of the 2nd Irvine Software Symposium (ISS'92), pages 131--145, 1992.
[11]
Rajiv Gupta and Mary Lou Soffa. Automatic generation of a compact test suite. In Proceedings of the Twelfth IFIP World Computer Congress, 1992.
[12]
Mary Jean Harrold and Brian Malloy. A unified interprocedural program representation for a maintenance environment. IEEE Transactions on Software Engineering, 19(6):584--593, June 1993.
[13]
Mary Jean Harrold and John D. McGregor. Hierarchical incremental testing. Technical Report TR91-111, Department of Computer Science, Clemson University, 1991.
[14]
Mary Jean Harrold and Mary Lou Soffa. Computation of interprocedural definition and use dependencies. In Proceedings of IEEE Computer Society 1990 Int. Conf. on Comput. Languages, New Orleans, LA, pages 297--306, 1990.
[15]
Rajiv Gupta; Mary Jean Harrold and Mary Lou Soffa. An approach to regression testing using slicing. In Proceedings of the Conference on Software Maintenance '92, pages 299--308, 1992.
[16]
Ferrante J; Ottenstein K and Warren J. D. The program dependence graph and its use in optimization. ACM Transactions on Programming Languages and Systems, 9(3):319--331, July 1987.
[17]
Tim Korson and John McGregor. Object-oriented software design: A tutorial. Communications of the ACM, 33(9):40 -- 60, 1990.
[18]
Anand Krishnaswamy. Program slicing: An application of object-oriented program dependency graphs. Technical Report TR 94--108, Clemson University, 1994.
[19]
Brian Malloy; John D. McGregor; Anand Krishnaswamy and Murali Medikonda. An extensible program representation for object-oriented software. Technical Report TR 94--109, Clemson University, 1994.
[20]
Panos E. Livadas and Stephen Croll. Program slicing. Technical Report SERC-TR-61-F, University of Florida, Gainesville, 1992.
[21]
Mary Jean Harrold; Brian Malloy and Gregg Rothermel. Efficient construction of program dependence graphs. ACM International Symposium on Software Testing and Analysis, 18(3):160--70, June 1993.
[22]
Gregg Rothermel and Mary Jean Harrold. A safe, efficient algorithm for regression test selection. In Proceedings of the Conference on Software Maintenance '93, pages 358--367, 1993.
[23]
James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorensen. Object-Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs, NJ, 1991.
[24]
E. Schatz and B. G. Ryder. Directed tracing to detect race conditions. Technical Report LCSR-TR-176, Laboratory for Computer Science Research, Rutgers University, 1992.
[25]
Bjarne Stroustrup. The C<sup>++</sup> Programming Language. Addison-Wesley, Reading, MA, second edition, 1991.
[26]
Horwitz S; Reps T and Binkley D. Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems, 12(1):26--60, Jan 1990.

Cited By

View all
  • (2023)A Graph-Based Java Projects Representation for Antipatterns DetectionSoftware Architecture10.1007/978-3-031-42592-9_17(250-265)Online publication date: 18-Sep-2023
  • (2022)An efficient and precise dynamic slicing for concurrent component-oriented programsInternational Journal of Knowledge-based and Intelligent Engineering Systems10.3233/KES-21008825:4(449-464)Online publication date: 18-Feb-2022
  • (2019)Analyzing information-flow in java program based on slicing techniqueACM SIGSOFT Software Engineering Notes10.1145/571681.57168327:5(98-103)Online publication date: 27-Feb-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 29, Issue 12
Dec. 1994
109 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/193209
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1994
Published in SIGPLAN Volume 29, Issue 12

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)3
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A Graph-Based Java Projects Representation for Antipatterns DetectionSoftware Architecture10.1007/978-3-031-42592-9_17(250-265)Online publication date: 18-Sep-2023
  • (2022)An efficient and precise dynamic slicing for concurrent component-oriented programsInternational Journal of Knowledge-based and Intelligent Engineering Systems10.3233/KES-21008825:4(449-464)Online publication date: 18-Feb-2022
  • (2019)Analyzing information-flow in java program based on slicing techniqueACM SIGSOFT Software Engineering Notes10.1145/571681.57168327:5(98-103)Online publication date: 27-Feb-2019
  • (2019)JavaRelationshipGraphs (JRG)Proceedings of the 2nd International Conference on Software Engineering and Information Management10.1145/3305160.3305173(80-84)Online publication date: 10-Jan-2019
  • (2018)Source code prioritization using forward slicing for exposing critical elements in a programJournal of Computer Science and Technology10.5555/1991856.199186826:2(314-327)Online publication date: 21-Dec-2018
  • (2018)Web Slicing Incorporating Component- Oriented Programming2018 Second International Conference on Computing Methodologies and Communication (ICCMC)10.1109/ICCMC.2018.8487856(334-339)Online publication date: Feb-2018
  • (2018)Code-based prioritizationInnovations in Systems and Software Engineering10.1007/s11334-012-0186-38:4(279-292)Online publication date: 15-Dec-2018
  • (2017)Detecting information leaks in Android applications using a hybrid approach with program slicing, instrumentation and tagging2017 International Carnahan Conference on Security Technology (ICCST)10.1109/CCST.2017.8167856(1-6)Online publication date: Oct-2017
  • (2013)A novel approach for slicing of object oriented programsACM SIGSOFT Software Engineering Notes10.1145/2492248.249226638:4(1-4)Online publication date: 12-Jul-2013
  • (2011)Source Code Prioritization Using Forward Slicing for Exposing Critical Elements in a ProgramJournal of Computer Science and Technology10.1007/s11390-011-9438-126:2(314-327)Online publication date: 5-Mar-2011
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media