Theoretical Computer Science
Readings in nonmonotonic reasoning
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Classical vs non-classical logics (the universality of classical logic)
Handbook of logic in artificial intelligence and logic programming
A syntactic approach to type soundness
Information and Computation
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modular reasoning in the presence of subclassing
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Open implementation design guidelines
ICSE '97 Proceedings of the 19th international conference on Software engineering
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Initial Algebra Semantics and Continuous Algebras
Journal of the ACM (JACM)
On the criteria to be used in decomposing systems into modules
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Open Sources: Voices from the Open Source Revolution
Open Sources: Voices from the Open Source Revolution
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Verifying cross-cutting features as open systems
ACM SIGSOFT Software Engineering Notes
The Mythical Man-Month: After 20 Years
IEEE Software
On the Frame Problem in Procedure Specifications
IEEE Transactions on Software Engineering
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
AOP: Does It Make Sense? The Case of Concurrency and Failures
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The modular structure of complex systems
ICSE '84 Proceedings of the 7th international conference on Software engineering
A procedure for designing abstract interfaces for device interface modules
ICSE '81 Proceedings of the 5th international conference on Software engineering
The structure of the “the”-multiprogramming system
SOSP '67 Proceedings of the first ACM symposium on Operating System Principles
Debunking the ``Expensive Procedure Call'''' Myth or, Procedure Call Implementations Considered Harmful or, LAMDBA: The Ultimate GOTO
The secret history of information hiding
Software pioneers
Separation and information hiding
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concepts, Techniques, and Models of Computer Programming
Concepts, Techniques, and Models of Computer Programming
Architectural modifications to deployed software
Science of Computer Programming
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Modular verification of multithreaded programs
Theoretical Computer Science
How to design a good API and why it matters
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Enhancing server availability and security through failure-oblivious computing
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Separation logic, abstraction and inheritance
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning about aspects with common sense
Proceedings of the 7th international conference on Aspect-oriented software development
Object-oriented analysis and design with applications, third edition
Object-oriented analysis and design with applications, third edition
A unified approach to modeling and programming
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part I
Study of an API migration for two XML APIs
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
The road to feature modularity?
Proceedings of the 15th International Software Product Line Conference, Volume 2
COOMP 2011: first international workshop on combined object-oriented modeling and programming
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Language composition untangled
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Exploring feature interactions in the wild: the new feature-interaction challenge
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
Hi-index | 0.00 |
What is modularity?Which kind of modularity should developers strive for? Despite decades of research on modularity, these basic questions have no definite answer. We submit that the common understanding of modularity, and in particular its notion of information hiding, is deeply rooted in classical logic. We analyze how classical modularity, based on classical logic, fails to address the needs of developers of large software systems, and encourage researchers to explore alternative visions of modularity, based on nonclassical logics, and henceforth called nonclassical modularity.