17,705 Hits in 4.1 sec

Practical Reasoning About Invocations and Implementations of Pure Methods [chapter]

Ádám Darvas, K. Rustan M. Leino
Fundamental Approaches to Software Engineering  
about the implementation of a pure method.  ...  Providing sound and practical support for pure methods in a verification system faces many challenges, especially when pure methods have executable implementations and can be invoked from code at run time  ...  We thank Peter Müller for helpful discussions and Mike Barnett for discussions and his help with the implementation.  ... 
doi:10.1007/978-3-540-71289-3_26 dblp:conf/fase/DarvasL07 fatcat:753t7eodwbfc7pvvmfltpgvwpy

Dynamic purity analysis for java programs

Haiying Xu, Christopher J. F. Pickett, Clark Verbrugge
2007 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering - PASTE '07  
We show that while dynamic method purity is actually fairly consistent between programs, examining pure invocation counts and the percentage of the bytecode instruction stream contained within some pure  ...  The pure methods in a program are those that exhibit functional or side effect free behaviour, a useful property of methods or code in the context of program optimization as well as program understanding  ...  of invocation frequency and method size for pure methods.  ... 
doi:10.1145/1251535.1251548 dblp:conf/paste/XuPV07 fatcat:uyxevy4umnh63np3nau6wx2eke

Preexistence and concrete type analysis in the context of multiple inheritance

Roland Ducournau, Julien Pagès, Jean Privat
2016 Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools - PPPJ '16  
In the framework of just-in-time compilation, preexistence is a property which asserts that the receiver of a given call site has been instantiated before the current invocation of the considered method  ...  Moreover, while the original proposition considered only method invocation, we place ourselves in the context of full multiple-inheritance, where attribute accesses need to be optimized, too.  ...  The number of method recompilations is rather low with pure preexistence, about 16% of the number of compiled methods. However, the recompilation cost is 60% of the first-compilation cost.  ... 
doi:10.1145/2972206.2972207 dblp:conf/pppj/DucournauPP16 fatcat:fihttqktrbepxbzzznddc2xgjy

Specification and verification challenges for sequential object-oriented programs

Gary T. Leavens, K. Rustan M. Leino, Peter Müller
2007 Formal Aspects of Computing  
It is essential that verification techniques are modular, that is, that they allow one to reason about a class independently of its clients and subclasses.  ...  The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such programs have made measurable  ...  Acknowledgments We are grateful to Kristina Boysen, David Cok,Ádám Darvas, Fraaz Hussain, Bart Jacobs, Joseph Kiniry, and Joseph Ruskiewicz for their comments on draft versions of this paper.  ... 
doi:10.1007/s00165-007-0026-7 fatcat:znwzmmmvqbdwtoygf2qcbozlli

Efficient recovery of algebraic specifications for stateful components

Carlo Ghezzi, Andrea Mocci, Mattia Monga
2007 Ninth international workshop on Principles of software evolution in conjunction with the 6th ESEC/FSE joint meeting - IWPSE '07  
Specification recovery is a necessary step of many reverse engineering and reuse efforts. This paper deals with recovering the semantic part of a component's interface.  ...  By reasoning just about the transitions, we ignore the semantics of states.  ...  The problem of recovering a specification from an existing implementation arises in many practical contexts.  ... 
doi:10.1145/1294948.1294972 dblp:conf/iwpse/GhezziMM07 fatcat:gqogbslzkbag7cwho4eftvdutq

Verifiable functional purity in java

Matthew Finifter, Adrian Mettler, Naveen Sastry, David Wagner
2008 Proceedings of the 15th ACM conference on Computer and communications security - CCS '08  
To demonstrate the practicality of our approach, we refactor an AES library, an experimental voting machine implementation, and an HTML parser to use our techniques.  ...  We prove that their top-level methods are verifiably pure and show how this provides high-level security guarantees about these routines.  ...  drafts of this paper.  ... 
doi:10.1145/1455770.1455793 dblp:conf/ccs/FinifterMSW08 fatcat:jcthk6a4pzgbhats3l6dxga35m

Deep Static Modeling of invokedynamic

George Fourtounis, Yannis Smaragdakis, Michael Wagner
2019 European Conference on Object-Oriented Programming  
These techniques invalidate static analysis assumptions: programmable linking breaks reasoning about method resolution while dynamically generated code is, by definition, not available statically.  ...  Our approach plugs into an existing static analysis and helps eliminate all unsoundness in the handling of lambdas (including associated features such as method references) and generic invokedynamic uses  ...  The approach addresses the most fundamental level of the language feature, fully modeling method handles, while at the same time it maintains high efficiency and completeness for common uses of invokedynamic  ... 
doi:10.4230/lipics.ecoop.2019.15 dblp:conf/ecoop/FourtounisS19 fatcat:q6wmy47kpfgybef66v33ebhgfu

Exact and Portable Profiling for the JVM Using Bytecode Instruction Counting

Walter Binder, Jarle Hulaas
2006 Electronical Notes in Theoretical Computer Science  
This paper presents a novel profiling approach, which is entirely based on program transformation techniques in order to enable exact profiling, preserving complete call stacks, method invocation counters  ...  These ideas have been implemented as the JP tool.  ...  JP and all its runtime classes are implemented in pure Java and all program transformations follow a strict adherence to the specification of the Java language and virtual machine.  ... 
doi:10.1016/j.entcs.2006.07.011 fatcat:srpne7rzmvfvdffuntl7du4lti

Preparing for Service-Oriented Computing: A Composite Design Pattern for Stubless Web Service Invocation [chapter]

Paul A. Buhler, Christopher Starr, William H. Schroder, José M. Vidal
2004 Lecture Notes in Computer Science  
With SOC selection and invocation of Web service partners will occur in software at run-time, rather than by software developers at design and compile time.  ...  Unfortunately, the marketplace has yet to yield a predominate applications programming interface for the invocation of Web services.  ...  An Architectural WS Invocation Pattern The resulting composite of the Bridge and Factory Method patterns provides an agile software design for the decoupling of the invocation services that are found and  ... 
doi:10.1007/978-3-540-27834-4_85 fatcat:jqi4tfpjhjcabdmhnpnvo3zgp4

Checking API protocol compliance in java

Kevin Bierhoff
2008 Companion to the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA Companion '08  
This paper focuses on making these ideas available in tools for mainstream object-oriented languages and evaluating their practical effectiveness.  ...  The author previously developed a sound and modular type system that checks compliance to typestate-based protocols while affording a great deal of aliasing flexibility.  ...  Acknowledgments I thank Nels Beckman for his help with implementing Plural and Jonathan Aldrich for advising me in this research.  ... 
doi:10.1145/1449814.1449906 dblp:conf/oopsla/Bierhoff08 fatcat:s46izlfjrfefxdmh2epm2jqhre

Lightweight Polymorphic Effects [chapter]

Lukas Rytz, Martin Odersky, Philipp Haller
2012 Lecture Notes in Computer Science  
Type-and-effect systems are a well-studied approach for reasoning about the computational behavior of programs.  ...  Finally, we verify the expressiveness and practicality of the system by implementing it for the Scala programming language.  ...  Introduction Type-and-effect systems are a well understood and widely used approach in the research literature for reasoning about computational effects.  ... 
doi:10.1007/978-3-642-31057-7_13 fatcat:fnrwmnk2kveqjmy6eymbkbzxha

Augmenting static source views in IDEs with dynamic metrics

David Rothlisberger, Marcel Harry, Alex Villazon, Danilo Ansaloni, Walter Binder, Oscar Nierstrasz, Philippe Moret
2009 2009 IEEE International Conference on Software Maintenance  
Such a static perspective neglects any information about runtime behavior.  ...  However, the information provided by these tools is volatile and hence cannot be exploited to ease the navigation of the source space.  ...  We gratefully acknowledge the financial support of the Swiss National Science Foundation for the project "Bringing Models Closer to Code" (SNF Project No. 200020-121594, Oct. 2008 -Sept. 2010).  ... 
doi:10.1109/icsm.2009.5306302 dblp:conf/icsm/RothlisbergerHVABNM09 fatcat:5kd2auwdnvbgrdnodc6qasootm

Expressive and modular predicate dispatch for Java

Todd Millstein, Christopher Frost, Jason Ryder, Alessandro Warth
2009 ACM Transactions on Programming Languages and Systems  
With predicate dispatch, each method implementation includes a predicate guard specifying the conditions under which the method should be invoked, and logical implication of predicates determines the method  ...  While prior languages with predicate dispatch have included special-purpose algorithms for reasoning about predicates, JPred employs general-purpose, off-the-shelf decision procedures.  ...  Reasoning About Predicates As described earlier, determining the method overriding relation as well as reasoning about exhaustiveness and ambiguity of method families reduce to checking validity of propositional  ... 
doi:10.1145/1462166.1462168 fatcat:jx3l5ls3ezfhnkebnjgsgqwr6e

Java Program Verification Challenges [chapter]

Bart Jacobs, Joseph Kiniry, Martijn Warnier
2003 Lecture Notes in Computer Science  
This paper aims to raise the level of verification challenges by presenting a collection of sequential Java programs with correctness annotations formulated in JML.  ...  9 We do not have answers for these questions, though investigations are underway [8] . 10 The verification of the method isqrt() from Figure 11 uses the implementation of the absolute value method  ...  of "pure".  ... 
doi:10.1007/978-3-540-39656-7_8 fatcat:wg4h2n3bhff6vhayc4caxcvnle

A basic model for components implementation of software architecture

Guoqing Xu, Zongyuan Yang, Haitao Huang
2004 Software engineering notes  
This paper presents a basic model of the architecture-based components implementation to band these two issues together.  ...  provided service should be transferred through the connector instead of directly between the client and server components.  ...  Leavens for his helpful discussion and comments on this paper. We are also grateful to all members in the Software Engineering Lab for their comments on JCMPL language and JCMP toolset.  ... 
doi:10.1145/1022494.1022522 fatcat:zvepxekovra5hkggof2qxijxjq
« Previous Showing results 1 — 15 out of 17,705 results